誰かこの本を英語に訳す必要があります。私はこの本をRubyを使おうと思ってる人におすすめします。なざならこの本はRubyで毎日仕事をしている方が書かれていて、とても深いところまでRubyの特徴について記述があるからです。ただし、この本はRuby入門であってプログラミング入門でないことに注意が必要です。既に他にオブジェクト指向言語をマスターしていればすんなりと読めると思います。更に著者はRuby入門のこの本にRuby on Railsで使われている記述を理解し使いこなすための必要なRuby知識を網羅する事を意図しています。私はMacのソフトであるAlfred5の拡張のためだけにRubyの本を読むつもりでした。でもこの本を195ページ程、読んだところで改めてRubyの言語としての設計の素晴らしさに気づきました。Rubyの中に流れる思想は他の言語に取り組むプログラマーがその言語を深く理解する上でも有益な考え方が詰まっています。例えば、Rubyにおけるif文にはreturnやbreakが存在しません。if文は必ず戻り値をもち。最後にtrueと評価された式の後に記載された値が戻り値となります。またRubyはif〜elsif~else文のなかで評価がtrueとなった時点で残りの式を評価しません。
よく知られたFizz-Buzz問題の解答はこの本の中にこう書かれています(この本は引用元を示せば引用可と書かれています。)
def fizz_buzz(n)
if n % 15 == 0
'Fizz Buzz'
elsif n % 3 == 0
'Fizz'
elsif n % 5 == 0
'Buzz'
else
n.to_s
end
end
プロを目指す人のためのRuby入門 伊藤 淳一 (著) 技術評論社; 改訂2版 (2021/12/2)