スコープチェーンに含まれるもののさまざまな状況を調べるために、スコープチェーンを検査用に出力する方法を備えた言語またはデバッグツールはありますか?
質問する
54 次
1 に答える
2
Firebug は JavaScript に対して行います。「スクリプト」デバッガーの「ウォッチ」タブで、スコープ チェーン リストを開いて、各親スコープを確認できます。
コード オブジェクトを取得すると、Python は言語自体の親スコープからローカルを読み取ることができますが、ネストされたスコープを処理する方法は、実際に使用されるスコープ変数のみがバインドされることを意味します。
>>> def a():
... def b():
... print v1
... v1= 1
... v2= 2
... return b
>>> f= a()
>>> f.func_code.co_freevars
('v1',)
>>> f.func_closure
(<cell at 0x7fb601274da8: int object at ...>,)
>>> f.func_closure[0].cell_contents
1
v1
との両方v2
が親スコープで定義されていますが、v1
実際には だけが閉じられています。
于 2010-05-03T23:55:39.240 に答える