問題タブ [mutability]
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.
list - Scala、ファイルを読み取り、各行を操作し、各行をリストに挿入します
部分文字列「置換」を部分文字列「置換」に置き換えて、ファイルを1行ずつ読み取っています。文字列操作が完了したら、各行をリストに挿入したいと思います。
関数を呼び出すと、返されるのは次のとおりです。
何か案は、 ?
arrays - メモリに関して、不変対可変配列はどのように機能しますか?
具体的には、言語のすべての配列が変更可能ではないのはなぜですか?言語がそれらを持っている、または持っていない理由は何ですか (利点と欠点)?
python - Python: 参照値の更新
以下は、私が信じている方法で機能します。
以下は私を苛立たせます:
リストには更新機能がないことを認識しており、次のようなことができることを理解しています。
...しかし、参照値を更新するためのより普遍的なオプションが欲しいので、オブジェクトはまだ辞書に属していますが、値は変更されています。
この理由は、次のようなネストされた辞書を持っているためです。
私の質問は、リストに更新機能があるかどうかを目的としたものではありません-むしろ、深くネストされた辞書内の値を参照および変更するよりクリーンな方法があるかどうかを尋ねているので、それを参照値に格納する方が目に優しいでしょう何かを割り当てるたびにすべてを入力するのではなく、
ありがとう!
EDIT: 最初の例の構文を修正しました EDIT2:
はっきりさせてください: リストには機能がないことは承知していますがupdate
、むしろ普遍的な参照値の更新について質問しています
EDIT3: 簡単な質問です
iterator - 範囲から Vec を作成してシャッフルするにはどうすればよいですか?
次のコードがあります。
次のエラーが表示されます。
ベクトルとスライスの内容は不変であり、それがここでエラーを引き起こすことを理解していると思いますが、よくわかりません。
の署名as_mut_slice
はpub fn as_mut_slice<'a>(&'a mut self) -> &'a mut [T]
であるため、スライスは変更可能である必要がありますが、どういうわけかそうではありません。
簡単な修正があるに違いないことはわかっていますが、最善を尽くしましたが、機能させることができませんでした。
c - Cで引数として受け取る関数内から関数引数として配列を渡す
こんにちは!
int の配列を引数として取り、その関数内から同じ配列を別の関数に送信する関数がある場合、配列の値を編集してメイン レベルでコミットすることはできますか?機能レベルではなく?
すなわち
関数 B は次のようになります。
関数 C は、実際に A[] 内の値を変更する関数です。
メインは変更された配列または元の A[] を認識しますか?
ありがとう!
java - オブジェクトの不変部分と可変部分を明示的に区別するのは良い設計ですか?
ImmutablePart
不変の純粋なデータであるこのクラスについて考えてみましょうObject
:
この段階で構成を使用して、一方の部分が変更可能で、もう一方の部分が不変であることをより明確にするのは良い習慣ですか、それとも単なるボイラープレートですか? このように (MutablePart
のフィールドに getter と setter を使用Clazz1
)。
EDIT1 :より具体的に言っても大丈夫です。不変部分は、ある種のメタ情報を含むファイルから構築されているため、変更することは意図されていません。変更可能な部分は、ランタイムに関して進化します。私が p2p アプリケーションに取り組んでいるとしましょう。不変部分には、クライアントがピアと共有する一連のファイルに関するすべての情報と、受信したパケットの信頼性を保証するためのハッシュキーが含まれます。可変部分には、共有の状態に関する情報が含まれます。つまり、いくつかの状態、アップロードされたバイト数、ダウンロードされたバイト数などです。不変部分は簡単に「metaInfo」と呼ばれ、可変部分は「コンテキスト」と呼ばれます。より意味のある名前が必要な場合。しかし、私の質問は、そのような設計の有用性に関するものでした。回答ありがとうございます。
EDIT2:私が選んだ名前は、抽象化の目的でここにあるだけです。実際の実装では、より良い名前を付けます。つまり、一見すると混乱するかもしれませんが、「明示的」と言うのは、一方の部分を「不変」、もう一方の部分を「変更可能」と明示的に命名するのではなく、2 つの異なるオブジェクトへの両方の部分を厳密に区別することを意味することに同意します。 .
ios - 3つの異なるが同時の非同期呼び出しを処理する方法
ここに私の懸念があります: 何らかの理由で、3 つの異なる Web 要求結果からの回答を取得してグループ化する必要があります。そのうちの 3 つが戻ってきたら、completionBlock を呼び出してすべての結果を渡す必要があります。NSOperation API を使用して、次のようなことができました。
ここで、completed は明らかに、エントリ パラメータとして指定された補完ブロックです。performRequestWithPath:method:parameter:completion: NSOperation を作成し、それをグローバル キューに追加して返すので、ここに 3 つの Web 呼び出しがあります。次に、ブロック操作を作成し、3 つ前のブロックに依存関係を追加して、3 つのブロックが完了する前に起動されないようにします。
私の懸念は、NSMutableArray に関するものです。このようなことを行うのは貧弱な設計のように思えます.2つの呼び出しがまったく同時に終了した場合に本当にバグプルーフであるかどうかはわかりません. (私は、完了ブロックがメイン キューで呼び出されることを perform...: メソッドで確認したことに注意してください)。
フィードバックはありますか?提案、批判、理論...私はすべてオープンです:)
graph - F# で巡回グラフを作成します。可変性は必要ですか?
F# で巡回グラフを実行しようとしています。
私のノードタイプは次のようになります。
私の質問は次のとおりです。循環させるためにエッジを可変にする必要がありますか?
scala - Scalaで「var」を「def」でオーバーライドできないのはなぜですか?
var
a がサブクラスでa をオーバーライドできない理由、val
およびその逆ができない理由は理解していますが、Scaladef
がサブクラスで avar
をスーパークラスでオーバーライドできない理由を理解できません。
変更可能であるため、 a がそれをオーバーライドvar
できないのはなぜですか? def
誰でもこれを理解するのを手伝ってもらえますか?