開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Ruby
『Learning Ruby』(Michael Fitzgerald 著、O'Reilly Media、2007年、ISBN978-0-596-52986-4)の Chapter 2(Conditional Love)Review Questions 1を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
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 コメント:
コメントを投稿