開発環境
- 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 コメント:
コメントを投稿