問題タブ [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 の借用/生涯/所有権のプロパティを理解しようとして、頭を悩ませています。つまり、バッファリングされたリーダーを使用していて、行を分割しようとしている場合です。コード
または、(変数の型を指定するかどうか、変更可能にしようとする無駄な試みなど)のバリエーションは次のようになります。
それでも、おそらく延長された寿命を偽造し、スライスを介してラインからデータを取得しようとしています
またはsplit()
、変更されていない行変数で 操作しようとしても、次のようになります。
「借りた値は十分に長く生きていません」は、各単語を独自の文字列に入れるのに十分な長さの寿命が続くことを示唆しているように思われますが、プレイグラウンドの元のコードを変更して、ネストされた for ループを含めると、依然として
を参照してline.unwrap()
最終的に、Rust の存続期間または借用プロパティについて、ここで私が誤解しているのは何ですか?
multithreading - std::sync::RwLock 参照を複数のスレッドに渡すにはどうすればよいですか?
スレッドセーフな方法で、複数のスレッドが同じデータ構造にアクセスできるようにしたいと考えています。
私はここまで来ることができます。ここで、私RwLock
は十分に長生きしないと言われています。Rustの貸し借りは理解できますが、これでは頭が回らなくなります。
コンパイラは言う
これを行う例が見つからないようです。どんなアイデアや指針も大歓迎です。
rust - 可変関数の引数で借用が許可されないのはなぜですか
タイトルはおそらく少し紛らわしいですが、コンパイルしようとすると、次のようになります。
次のエラーが表示されます。
しかし、これが問題である理由が思いつきません。最初に引数を処理し、結果のusize
値をコピーしてからreserve
関数を実行するべきではありませんか?
実際の関数の実行が開始された後、関数の引数はいつ計算されますか?
編集:folder_file_path
は、Vec
でありcompressed_data
、HashMap