問題タブ [pass-by-name]
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.
go - Go言語で混乱する参照型
Go 言語で Trie データ構造を作ろうとしたのですが、なぜか References 問題で行き詰まってしまいました。http://play.golang.org/p/ASSGF5Oe9R
私が入れた2番目の「挿入」では、次の問題が発生します。//Problem Point
次に連結したトライを検索する方法を作っcontainsIndex
たところ、実際にうまく検索できました。しかし、与えられたnext
プロパティを更新するとcontainsIndex
、その母構造体には影響しませんでしtrie
た。
私が理解していないのは、 を返すときに参照型を指定したことですcontainsIndex
が、それでも「コピーされた値」が好きでしたtrie
。
ありがとう!
scala - 変更するメンバーをパラメータで決定
次の Scala コードでは、val に代入できないというコンパイル エラーが発生します。
簡単な例:
私の実際の使用に近い例:
元に戻す/やり直しは非常に似ているため、共通コードを関数に抽出したいと思います。これは、ソース/ターゲットのペアをredoState
/として渡しundoState
、その逆を行いたいと考えていました。
関数が何かを格納する場所を特定する方法はありますか? (C++ では、この状況ではメンバーへのポインターを渡します)。
scala - 値による & scala の名前による => 1 対 1 の対応
値渡しの場合
val f: (Int) => Int = {(i) => {i * i}} # f: Int => Int = <function1>
の省略形です
val f: Function1[Int, Int] = {(i) => {i * i}} # f: Int => Int = <function1>
次に、名前
で呼び出す場合は?
val f: (=> Int) => Int = {(i) => {i * i}} # f: (=> Int) => Int = <function1>
の省略形です
。
何 ?
で、もし
値による呼び出し時
val f = {(i) => {i * i}}:(Int) => Int # f: Int => Int = <function1>
の省略形です
val f = {(i) => {i * i}}:Function1[Int, Int] # f: Int => Int = <function1>
次に、名前
で呼び出す場合は?
val f = {(i) => {i * i}}:(=>Int) => Int # f: (=> Int) => Int = <function1>
の省略形です
。
何 ?
言い換えると
if (Int) => IntはFunction1[Int, Int]の短縮形です
then (=> Int) => Intは?の省略形です。何 ?
ありがとうございました !
scala - A => => B とはどういう意味ですか?
別の質問では、 type の値になりましたA => => B
。これは何を意味するのでしょうか?
=> A
これは実際には型ではなく、名前による呼び出しのセマンティクスで動作するように引数を宣言できる方法であると、私は常に理解してきました。しかし、それがタイプでない場合、どういうA => => B
意味ですか?
python - オブジェクト参照値による Python パス
(バイナリ) ツリーのルートから各リーフまでのすべてのパスを出力するアルゴリズムを Python で記述しようとしています。これが私のコードです:
現在のトラバーサルでノードのリストを保持し、リーフに到達したらリストを出力します。ただし、Pythonがオブジェクトを渡す方法について誤解しています。各再帰呼び出しが完了してスタックからポップされると、元の変数は再帰呼び出しの影響を受けないだろうと考えました。curr_trav
しかし、それはまるでラインのようです
元のリストを変更しています。+=
演算子は、元のオブジェクトを実際に変更する とは対照的に、新しいリストを返します.append()
。この呼び出しは、元のオブジェクトを変更するのではなく、関数内のオブジェクトに与えられた名前を再割り当てするだけであってはなりませんか? 行を次のように変更すると
すべて正常に動作しますが、元の行の問題が何であったかわかりません。私の質問が不明な場合はお知らせください。
c - C での名前渡しの実装
C言語の名前渡し機構を使って、インデックスiに依存する算術式^2 + 3i − 1の値を計算するにはどうすればよいですか?
9
∑ i^2 + 3i − 1
=0
名前で渡された引数を使用して sum プロシージャを呼び出す
Cで書かれた名前渡しの例も私を助けることができます