Rubyを使ってみた - hellkite 日記と雑記とメモ。
というわけで、感動的Rubyガイド*1を読んだのですが文法的に驚いたことを列挙。
数字をアンダースコアで区切ることができる
print 12_000_000 print 1000_0000
結果は、それぞれ
12000000
10000000
と出る。
定数は大文字で始める
英語の固有名詞と同じ書き方。
範囲
(1..3)
これは、1〜3だが、
(1...3)
は1〜2。
Pythonで1〜100の範囲を示すには、
range(1..101)
だが、Rubyでは、
(1..100)
101などど関係の無い数が出てこないため、Rubyの方が見やすい
三重等号
こういうことやりたいときってのは意外と多い。
(1886..1913) === 1905
で、ちゃんとtrueが返ってくる。
動的プログラミング
スプリクト言語では一般的なのかもしれないけど、あまり馴染みの無い自分は驚いた。
eval ("print 1+1")
結果は2。
evalは文字列として保存されたRubyプログラムを実行する。
なるほどなるほど。こういう機能があるのか。
なんかワンライナープログラムは文字列作ってるなーと思っていたけれども。
http://www.jaist.ac.jp/~m-hatake/ruby/ruby4.htm
そうそう、このページの4章にあるようなプログラムが全く読めなかった。
もっと慣れが必要だけど、少しだけインタプリタ言語の本質に近づけた気がする。
感動的小説
全体に渡って、こんな文章を書くことができるという才能が理解できなかった。
そのわりに、Rubyの説明自体はわかりやすいところが微妙にムカつくw