問題タブ [evaluation-strategy]
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.
scala - Scala は参照によって呼び出すことができますか?
Scala が ALGOL からの名前による呼び出しをサポートしていることは知っています。それが何を意味するかは理解できると思いますが、Scala は C#、VB.NET、および C++ のように参照による呼び出しを行うことができますか? Java が call-by-reference を実行できないことは知っていますが、この制限が言語だけによるものなのか、それとも JVM によるものなのかはわかりません。
これは、巨大なデータ構造をメソッドに渡したいが、そのコピーを作成したくない場合に便利です。この場合、参照渡しは完璧に思えます。
c# - 値による呼び出しと値による受け渡しは同義ですか?
私はいつも、値による呼び出しと値による受け渡しは同義語だと思っていました。しかし、最近、誰かが彼らを違うように呼んでいるのを聞いた。それらは同じものですか?
また、対応する参照による用語についても話します。
programming-languages - コールバイニーズとは何ですか?
必要に応じて何が必要か知りたい。
ウィキペディアで検索して、http://en.wikipedia.org/wiki/Evaluation_strategyで見つけましたが、正しく理解できませんでした。誰かが例を挙げて説明し、値による呼び出しとの違いを指摘できれば、それは大きな助けになるでしょう。
java - 共有による呼び出しと参照による呼び出しは、マルチスレッドの場合にのみ異なりますか?
を使用して関数が呼び出された場合、関数Call-by-Reference
内の変数に加えられた変更は、呼び出し元にすぐに反映されます。のCall-by-Sharing
場合は、関数の最後で影響を受けます。
質問 1: Java はCall-by-Sharing
代わりに を使用しCall-by-Reference
ますか?
質問 2:マルチスレッド中のみCall-by-Sharing
とは異なると思います。他のスレッドで使用されている間、値の同時上書きを減らすためにのみ作成されます。一貫性を提供します。私は正しいですか?Call-by-Reference
language-agnostic - 名前による呼び出しの評価と foreach ループ
初めてこの問題に直面しましたが、理解できません。
配列と foreach ループがあるとしましょう。このようなもの:
私が間違っているのですか、それともここで何かがうまくいかないのですか? つまり、foreach をループするたびに、y を (名前で) 評価するので、v[i++] であるため、i 変数の値を 1 増やします。
- したがって、最初のステップ y = v[0] なので write(10) 次に i++ (i=1)。
- 2 番目のステップ y = v[1] なので write(20) で、i を 1 増やします (i=2)。
- 3 番目と最後のステップ y = v[2] なので、 write(50) と i++ を再度実行すると、これは 3 に等しくなります。
では、どのような値を返す必要がありますか?! y を再度評価すると、y = v[3] は実行できません。境界を超えてしまうからです。私は何か間違ったことをしていますか?foreach ループの前に y を 1 回だけ評価する必要がありますか? 名前でパラメーターを呼び出すときに考慮していない foreach に何かがあるに違いありません。
わからない、私は少し混乱しています。
前もって感謝します!
c - ダミーの評価順序
どれだけトピックを読んでも評価戦略が理解できません。3 つの評価順序について、例を挙げて説明してもらえますか? 以下にコードを書いています。以下のコードを使用して、必要に応じて呼び出し (遅延評価)、名前で呼び出し (通常の順序評価)、参照によって呼び出しを説明できますか。あなたの例でそれらを説明することもできます。私はそれらを理解したいだけですが、理解できません。
前もって感謝します。
}
evaluation - 「最高評価」とは?
「最高評価」とは?
この用語は、言及されたテキストでは定義されていませんでした。私は一般的な説明にのみ関心があるため、特定のコンテキストを伝えたくありません。
perl - perl が call-by-reference の場合、なぜこれが起こるのですか?
サブルーチンを実行するときに perl が call-by-reference を使用することを読みました。このプロパティをチェックするための簡単なコードを作成しましたが、perl が値渡しであるかのように動作します。
これにより、次の出力が生成されます。
引数が参照渡しの方法で処理された場合、x は x1 と等しく、y は y1 と等しくなるべきではありませんか?
python - 関数を 1 回評価し、結果を Python に保存する
計算に時間がかかる静的メソッドをPythonで作成しましたが、一度だけ計算してから、計算された値を返したいです。私は何をすべきか ?ここにサンプルコードがあります:
haskell - getRandom ではなく、randomIO を使用した無限のランダム シーケンス ループ
inf
次の 2 つの一見同等の無限乱数シーケンスの定義 (およびinf'
) がまったく異なる方法で評価される理由を説明する方法を見つけようとして苦労しています。
呼び出されると、main'
5 つのランダムな整数を終了して出力しますが、無限main
にループsequence . repeat
します。getRandom
randomIO