問題タブ [lexical-scope]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
94 参照

variables - ブックマーク + のブックマーク セットに関する問題 (emacs 24.5)

Emacs は、ブックマーク セットで「funcall: Symbol's value as variable is void:choices」を発生させます。

ブックマーク + を無効にした後、ブックマーク セットが正しく機能し始めました。

これを解決する方法を知っている人はいますか?

0 投票する
1 に答える
34 参照

javascript - 外部関数は、外部関数からの値にアクセスできる内部関数を返します

データベース サーバーに渡す関数を作成する必要があります。返された関数は、1 つの項目をパラメーターとして取り、その項目を要件のリストと比較します。

このためには、引数として配列を取り、その配列が組み込まれている内部関数を返す関数生成関数が必要です。

次に例を示します。

これを使用する例:

要件のリストを内部関数に組み込むにはどうすればよいですか?

0 投票する
2 に答える
2142 参照

javascript - Babel.js を使用して ES6 アロー関数を Es5 にコンパイルする



Mozilla ドキュメントに関する ES6 アロー関数のドキュメントを調べているときに、アロー関数は、リンクで説明されているものを除いて、厳密モードのすべてのルールを適用することを知りました。

しかし、Babel.jsアロー関数コードを ES5 コードにトランスパイルして、 (デモ リンク)undefinedではなく返すWindow


したがって、上記のスニペットは Babel.js からの出力です。以下の出力ではありませんか?

私が ES6 を書いているなら、Windowそれundefined
はバグですか?
または、私は何かを誤解しましたか?

0 投票する
1 に答える
67 参照

r - それぞれが関数の親環境を変更する独立した関数呼び出しを並列化する

各呼び出しが関数の親環境を変更する、繰り返される独立した関数呼び出しを並列化する方法を見つけたいと思います。関数の各実行は独立していますが、さまざまな理由から、関数の親環境の変更に依存しない他の実装を検討することができません。以下の簡単な例を参照してください。親環境のコピーを各ノードに渡す方法はありますか? これをLinuxシステムで実行しています。

0 投票する
1 に答える
234 参照

elisp - Emacs lisp:レキシカルスコープを関数に渡しますか?

Python 3 には、少なくとも読み取り専用の目的で、現在のスコープの名前付きの値を関数に渡すことができる関数locals()ansがあります。globals()

emacs lisp で、文字列補間の関数を書きたいと思っています。この目的のために、呼び出しスコープのレキシカル変数にアクセスする必要があります。マクロが変更されたときに他のファイルの再コンパイルを回避したいので、マクロを使用する明白な解決策は実行できません。

emacs lispでこれを行う可能性はありますか?

私はすでにこの機能を試しましたが、 では機能しlisp--local-variablesません。lexical-bindingt

Elisp ドキュメントからの関連する引用

(内部的には、レキシカル環境はシンボルと値のペアの連想リストであり、連想リストの最後の要素はコンス セルではなくシンボル 't' です。このような連想リストは、'eval' 関数の 2 番目の引数として渡すことができます。 , フォームを評価するレキシカル環境を指定するため. *Note Eval::. ただし、ほとんどの Emacs Lisp プログラムは、この方法でレキシカル環境と直接やり取りするべきではありません; デバッガーのような特別なプログラムだけです.)


現在、Emacs Lisp クロージャー オブジェクトは、シンボル `closure' を最初の要素として持つリスト、2 番目の要素としてレキシカル環境を表すリスト、残りの要素として引数リストと本体フォームで表されます。

しかし、クロージャーの内部構造が Lisp の世界の残りの部分に「公開」されているという事実は、内部実装の詳細と見なされます。このため、クロージャー オブジェクトの構造を直接調べたり、変更したりすることはお勧めしません。

0 投票する
1 に答える
119 参照

perl - Perl のサブルーチンからエイリアスを返す

Perlのサブルーチンからエイリアスを返すことは可能ですか?

簡単な例があります:

これは本質的に私が望む機能ですが、逆参照せずにデータにアクセスできるように作成$testしてエイリアスする方法を見つけたいと思います。$valueこれは可能ですか?


これが私が望む構文の例です:

ex (疑似コード):

エイリアスについて読んでいて、すべてが「型グロブ」を指し続けています...しかし、型グロブを使用するにはグローバル変数を使用する必要があるようで、それを避けたいと思います。


また、CPAN から追加のモジュールをインストールする必要のないソリューションが必要です。セキュリティによって承認されてインストールされる必要があるためです...そして、私のスクリプトを使用したい他の人も同様です。