8

モジュールがリロードされたときに、割り当てられた値をghciに保持できるかどうか疑問に思っていますか?

たとえば、ghciで値を割り当てます。

ghci> let x = 1

また

ghci> x <- getLine

入力:rして既存のモジュールをリロードした後xは、スコープ内にありません。たとえばPythonインタープリターのように、割り当てを利用可能な状態に保つことは一般的に可能ですか?(これは本当に便利です...)

実際にghciの各行が次の行に(一律に)バインドされている関数を表しているとしても、その状態を維持できるかどうかはまだ疑問です。

4

1 に答える 1

4

私はこれを行う方法を知りません。

問題は、特定のタイプの値にいくつかの変数をバインドし、ソースを編集してそのタイプを削除し、リロードを押す可能性があることです。これで、存在しなくなったタイプの変数ができました。

それでも、それを検出するのはそれほど難しいことではないと思い、もはや意味をなさない変数だけを破棄します。(本当に楽しい部分は、おそらく、型がまだ存在しているが、現在はフィールドの数が異なる場合、またはそのようなものです...)

于 2012-10-18T18:27:19.323 に答える