C#, C♯, C#相談室 Part42at TECHC#, C♯, C#相談室 Part42 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト531:デフォルトの名無しさん 07/09/10 13:01:49 限定された構文でよかったら自分でインタープリタを作る手もあるし、 その手のライブラリもあるだろう。 evalと同等とかC#の関数で出来ることを全部やりたいなら、 CodeDOMやらそれなりに危険なことをしないと無理。 話はそれるがC#3.0のExpression<Func<>>の仕組みをつかって、 eval的なことが出来そうな気がする。 いまのところDLinq用だが、どう見てもLispのクォートを狙ってるとしか思えない。 532:デフォルトの名無しさん 07/09/10 18:43:40 >>531 本題とはずれるけど、C# 3.0 のラムダ式の話、 C# 3.0 は F# からいろいろ輸入したって話らしいから、 F# の(大元をたどればもちろん LISP の) quote 由来だろうね。 LISP だと、データとプログラムを区別しないってのを、 .NET Framework だと、ラムダ式を デリゲートに代入したときはプログラムとして、 Expression 型に代入したときはデータとして扱う というコンセプトみたい。 533:デフォルトの名無しさん 07/09/10 18:49:29 >>532 DLRも見てみると面白いよ。 ASTからILへの汎用変換エンジンになりつある。 CodeDOMは死相が出ちゃったけど DLRはRubyとPythonという目標がある以上、 ある程度のところまで作り込むんじゃないかな。 ちなみにExpression Treeの裏話。 ttp://d.hatena.ne.jp/siokoshou/20070709 ま た D o n B o x か ! 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch