We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Temporal windowというのは、見えているスコープの中で直近にdefineされた変数を指す方式のこと。 ref. https://zenn.dev/qnighy/articles/f3d2d7adc75948
現状のインタプリタはTemporal windowであり、これは実行時に識別子がどの変数を指すかが変わってしまう。 具体的には以下のようなコードで、関数を呼び出すタイミングによって参照する変数が変わる。
let hoge = 0 eval { @f() { hoge } <: f() // 0 let hoge = 1 <: f() // 1 }
https://aiscript-dev.github.io/ja/playground.html#N4Igxg9gJgpiBcIA2MAuACAFhA5jdAvOgAwA6AdjAG4CGS6wF66AAgGYAUAlA1rvgF8m6ADzx0nHgHopJYSgzY8hdAEZhYid3Qy1FASAFA
関数が定義された時点で参照する変数を決定するTemporal Dead ZoneかLexical Windowにするべきなのでは
The text was updated successfully, but these errors were encountered:
できればLexical Windowにしたい 私自身関数内で外部変数を参照する使い方をよくするので
Sorry, something went wrong.
No branches or pull requests
Temporal windowというのは、見えているスコープの中で直近にdefineされた変数を指す方式のこと。
ref. https://zenn.dev/qnighy/articles/f3d2d7adc75948
現状のインタプリタはTemporal windowであり、これは実行時に識別子がどの変数を指すかが変わってしまう。
具体的には以下のようなコードで、関数を呼び出すタイミングによって参照する変数が変わる。
https://aiscript-dev.github.io/ja/playground.html#N4Igxg9gJgpiBcIA2MAuACAFhA5jdAvOgAwA6AdjAG4CGS6wF66AAgGYAUAlA1rvgF8m6ADzx0nHgHopJYSgzY8hdAEZhYid3Qy1FASAFA
関数が定義された時点で参照する変数を決定するTemporal Dead ZoneかLexical Windowにするべきなのでは
Temporal Dead Zone
Lexical Window
The text was updated successfully, but these errors were encountered: