- 【JavaScript】スクリプト バトルロワイヤル51【php,py,pl,rb】©2ch.net
931 :デフォルトの名無しさん[sage]:2015/10/02(金) 17:15:30.63 ID:KqRodFae - >>930
Rubyってプログラムのあらゆる論理構造が実行時の振る舞いによって帰納的に意味付けされてるから、 静的解析がとても困難で静的型とは極めて相性が悪いんだよ 静的な構造をベースにした言語に変えようと思ったら処理系も互換性も総あぼん
| - 【JavaScript】スクリプト バトルロワイヤル51【php,py,pl,rb】©2ch.net
935 :デフォルトの名無しさん[sage]:2015/10/02(金) 18:38:59.11 ID:KqRodFae - >>932
例えばRubyのクラスって、処理系が「Fooクラスのメンバとしてhogeメソッドが定義されている」と認識してるわけじゃないよね クラスオブジェクトをコンテキストとしてクラスの中身を実行し、その中で宣言された関数は結果としてクラスのメンバになるわけ そういう動的な性質を利用したバッドノウハウを、Rubyist達はメタプログラミングと呼んで多用している 分かりやすく言えば、RailsのARのモデルクラスがVMにロードされてどういう形のクラスができるかを実行前に静的に正確に予測できるか?ということ
|
|