includes 40 programs like these – ほぼRuby、一部C言語 written in Ruby (and C) – 実装技法の解説も implementation techniques are also disclosed – Matzによる前書きも必見 preface by matz
string literal [Feature #11473] – Ruby 3.0では文字列リテラルを破壊的に変更できなくなる In Ruby 3.0, all string literals are frozen by default – 導入理由:高速化などなど (for performance improvement) • 個人的にはネガティブ (I’m against this change) – Ruby には何事も「動的」であってほしい I hope Ruby is always dynamic, as far as possible 9 ""<<32 s="foobar" s.gsub!("ob", "OB")
No! • 超絶技巧プログラミングは言語仕様の枠と戦う遊び We enjoy TP within the language spec – 言語が変わるならそれに合わせて遊ぶだけ If the language changes, we change how to enjoy • ていうか対応は難しくない(はず) Or rather, we also enjoy immutable string literals! 10 ""<<32 ""*1<<32 32.chr "".dup<<32
– 問題個所を見つけにくい very hard to find the cause – レイアウトを手動で再調整した needed to rearrange the layout – 別の Ruby のバグに遭遇した [Bug #11594] encountered unrelated Ruby bug 15 とても優雅な時間を過ごせました I enjoyed the change!