2012年5月30日水曜日

開発環境

『Learning Ruby』(Michael Fitzgerald 著、O'Reilly Media、2007年、ISBN978-0-596-52986-4)の Chapter 2(Conditional Love)Review Questions 1を解いてみる。

その他参考書籍

1.

同じ処理をするプログラムでもif/elsif/elseよりもcase/whenの方が「==」無しで簡潔に書ける。

実際に比較

if/elsif/elseの場合

コード(TextWrangler)

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

lang = 'java'
if lang == 'javascript'
  puts 'a'
elsif lang == 'perl'
  puts 'b'
elsif lang == 'ruby'
  puts 'c'
elsif lang == 'python'
  puts 'd'
elsif lang == 'php'
  puts 'e'
elsif lang == 'c'
  puts 'f'
elsif lang == 'c#'
  puts 'g'
else
  puts '?'
end

入出力結果(Terminal)

$ ruby sample.rb
?
$

case/whenの場合

コード(TextWrangler)

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

lang = 'java'
case lang
  when 'javascript'
    puts 'a'
  when 'perl'
    puts 'b'
  when 'ruby'
    puts 'c'
  when 'python'
    puts 'd'
  when 'php'
    puts 'e'
  when 'c'
    puts 'f'
  when 'c#'
    puts 'g'
  else
    puts '?'
end

入出力結果(Terminal)

$ ruby sample.rb
?
$

0 コメント:

コメントを投稿