問題タブ [borrowing]
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.
rust - Rust のタプル内の所有ボックスから借用する
主な目標は、タプル内にある所有ボックスにアクセスすることです。たとえば、(String, i32)
以下のコードの文字列です。
私の最初の意図は、let
バインディングを使用して所有ボックスから借りることでした。借用は非タプルの場合 (1) には機能しますが、タプルが関係する場合には機能しません (2)。
私の意図は間違っていますか?もしそうなら、文字列にアクセスする別の慣用的な方法はありますか?
コード例:
コンパイラ エラーは次のとおりです。
rust - Rc での T の借用>
私はこのようなことをしようとしています
ライフタイム関連のエラーが発生し、正確に何が問題なのか、またはこれを行うことが可能かどうかを理解するのが難しいと感じています.
rust - 特性を実装する型への参照で関数を呼び出すことができません
特性と所有権の操作方法を理解するのに苦労しています。次の例が機能します。
しかし、次のように特性 (ここXT
) を作成しようとするとget
:
次のエラー メッセージが表示されてコンパイルに失敗します。
タイプの特性
XT
が実装されていません&T
に変更f2(&x)
すると動作しf2(x)
ます。私の期待は、タイプを特性に置き換えると、すべてがうまくいくということでした。
rust - 借用したオブジェクトを一時的に保持するには
構造Parent
体フィールドには以下を格納する必要がありますOption
:
fn main()
を呼び出すまで、 でオブジェクトを操作する可能性を一時的にブロックする必要があります。.unbind()
path - パスを格納するビルダーを作成するにはどうすればよいですか?
Path
引数はすぐに に変換できますが、PathBuf
効率が悪いようです。だけを維持する方法が必要Path
ですよね?
rust - 構造体フィールドから変数を割り当てるときに「借用したコンテンツを移動できません」
私は Rust を学んでいて、借用チェッカーと戦っています。
私は基本的なPoint
構造を持っています。scale
ポイントのすべての座標を変更する関数があります。という名前の別のメソッドからこのメソッドを呼び出したいconvert
:
今、私は次のエラーがあります:
私は何を間違っていますか?
rust - Rust の借用規則は機能的なデータ構造の邪魔になりますか?
機能的なデータ構造 (Haskell/Clojure/Scala で使用される Hash Array Mapped Trie など) は、基礎となるデータ構造の多くの共有に依存しています。たとえば、insert
通常はデータ構造を実装するツリーでパスをコピーすることによって実装されるマップのようなデータ型を実装するとします。
これらのデータ構造が基礎となる値の共有に大きく依存している (そして主要な所有者がいない) ことを考えると、借用はそのような構造の実装の邪魔になるでしょうか?
string - Vec を渡すas IntoIterator<&'a str>
単語のリストからランダムな単語を選択することになっている関数があります。
おそらくそれは合理的な署名です。実際には関数内に文字列自体は必要ないため、参照を処理する方が完全なString
.
Vec<String>
プログラムがファイルから読み取る with ワードをこの関数にエレガントかつ効率的に渡すにはどうすればよいですか? 私はこれまでに得ました:
それは適切な方法ですか?参照を取得するために単語のリストを明示的にマッピングせずにこれを記述できますか?
rust - &[u8] スライスを複製するにはどうすればよいですか?
&[u8]
スライスの内容をコピーするにはどうすればよいですか?
入力としてバッファを受け取り、指定されたキーで各バイトを XOR して最終結果を返す関数を作成しようとしています。
入力バッファを台無しにしたくありません。
このコードは、次のコンパイル時エラーを生成します。
私は何か間違ったことをしなければならないことを知っています。
どんな助けでも大歓迎です。