問題タブ [first-class-functions]

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 投票する
1 に答える
72 参照

javascript - ファーストクラス関数に関する Javascript の「副作用」を理解する

Javascript の副作用であると思われる、特に興味深いケースに遭遇しました。

私は、スコープと、関数が第一級市民であるという事実に頭を悩ませようとしています。私が正しい軌道に乗っているかどうかを教えてください。これが初心者の質問である場合はご容赦ください。

次のコードを参照してください。

最初の consol.log の場合、出力は次のとおりです: mrGlobal バージョン 2.
2 番目の consol.log の場合、出力は次のとおりです

私は当初、これが opppsite の動作 (最初の console.log が 2 番目の console.log に切り替わる) になると思っていたので、この出力には驚きました。これは、javascript の関数が宣言されているスコープにバインドされており、それらを実行するスコープにバインドされていないためだと思います-たとえそれらがファーストクラスの市民としてそのスコープに渡されたとしても?

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

python - これらの python ビジター デザイン パターンの実装の選択の違いは?

Pythonクックブック、第3版からのimplinging_the_visitor_pattern_without_recursionを読んでいました

Visit追加のクラスを使用した実装は、それがないものでの欠陥を主張どおりに修正します。

「このレシピの潜在的な危険の 1 つは、生成される Node 値と非 Node 値の区別に関するものです。実装では、すべての Node インスタンスが自動的にトラバースされます。これは、伝播される戻り値として Node を使用できないことを意味します。実際には、これは問題にならない場合があります。ただし、そうである場合は、アルゴリズムを少し調整する必要がある場合があります。たとえば、次のように別のクラスをミックスに導入することで可能です:」</p>

抜粋: デビッド・ビーズリー. 「Pythonクックブック」。アイブック。

質問は次のとおりです:
1: この潜在的な危険はどのような状況で発生しますか?
2: 追加のクラスはどのVisitようにそれを修正しますか?

(理解できません。私が見る限り、Visitクラスは の役に立たないラッパーにすぎませんnode
(私が愚かだからかもしれません。誰かがそれをより詳細に、おそらくいくつかのコードで説明してくれませんか?読んでくれてありがとう)

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

python-3.x - 一級関数の語彙

たとえば、Python に第 1 級関数があると人々が言うと、Python にも第 2 級関数があるように聞こえます。ただし、Python で 2 番目のクラスの関数に (故意に) 遭遇したことはありません。これを言うとき、それは本当に「すべての Python 関数がファースト クラスである」という意味ですか? または、Python の 2 番目のクラス関数の例はありますか?

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

javascript - function.call を変数に割り当てる

私はこのコードを持っています

typeof b'function'console.log(b)示しますƒ call() { [native code] }

誰かがこの動作を説明できますか?