09/03/05 19:12:11
>>736
たとえば、Python では、Cのinclude、Haskellのimportに相当するものとして、
import文というのがあって、次のように書く。
import time, re
でも、これは、CやHaskellと違って実行時に実行環境にアクセスする副作用のある関数のシンタックスシュガーで、
__import__('time')
__import__('re')
と書いているのと同じ。
だから、__import__関数をラップする関数を作って、自由な操作をすることができる。
my_import('foo')
そういうことやってどういううまみがあるのかといえば、ケースバイケースだろうけど、
オレはこういうトリックをアプリケーションの設定ファイルをライブラリのようにPythonコードでベタ書きした上、
コマンドライン引数で設定ファイルを指定できるようにしたりしている。
Lispはよく知らないんだけど、こういう自由度はLispが最強なのかなぁ、と。