問題タブ [rust-0.9]

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.

0 投票する
3 に答える
23997 参照

string - Rustで文字列を大文字に変換する最も簡単な方法は何ですか?

Rustで文字列を大文字に変換する方法を調べてきました。これまでに私が考え出した最も最適な方法は次のとおりです。

それを行うためのより冗長な方法はありますか?

注:この質問は、特に Rust 0.9 を対象としています。質問時に利用可能な別の関連する回答がありましたが、それはRust 0.8用であり、構文に大きな違いがあるため、適用できません。

0 投票する
1 に答える
757 参照

rust - 共有ボックス ptr を介してアクセスするときに構造体フィールドを変更可能にするにはどうすればよいですか?

編集者注: このコードは Rust 1.0 より前のバージョンのものであり、構文的または意味的に有効な Rust 1.0 コードではありません。

そのため、学習演習として共有ボックス ポインターを調べます。純粋にアカデミックなエクササイズ。

このコンパイラ エラーが発生することに少し驚いています。

何を与える?

所有ボックス ポインターに切り替えると、エラーはなくなります。これはマネージ ポインター アクセスに対するある種の制限ですか?

0 投票する
1 に答える
981 参照

rust - クロージャーを格納する構造体を複製する

現在、Rust で単純なパーサー コンビネーター ライブラリを実装しようとしています。mapそのために、パーサーの結果を変換する汎用関数が必要です。

問題は、クロージャーを保持する構造体をコピーする方法がわからないことです。例はMap、次の例の構造体です。mapFunction前のパーサーの結果を受け取り、新しい結果を返す関数を格納するフィールドがあります。Mapそれ自体がパーサーであり、他のパーサーとさらに組み合わせることができます。

ただし、パーサーを組み合わせるには、それらをコピー可能にする (Clone特性をバインドする) 必要がありますが、これをどのように提供すればよいMapでしょうか?

例: (疑似コードのみ、コンパイルされない可能性が高い)

0 投票する
1 に答える
563 参照

rust - 0.9 で文字列を反転するにはどうすればよいですか?

Rust 0.9 で文字列を反転するにはどうすればよいですか?

rosettacode.orgによると、これは 0.8 で機能しました。

...しかし、0.9 ではイテレータを文字列で動作させることができません。

試してみstd::str::StrSlice::bytes_revましたが、コンパイラーが窒息することなく結果を文字列に変換するきれいな方法を見つけていません。

0 投票する
2 に答える
408 参照

rust - 移動せずにクロージャーを 2 回渡す

私は閉鎖を実験しています:

klosure を call_it() に 2 回渡すと、クロージャー値が移動するため、コンパイラ エラーが発生します。

コンパイラは実際に問題を解決する方法を提案しますが、それをうまく適用する方法はわかりません。

助言がありますか?:D

0 投票する
1 に答える
560 参照

pattern-matching - 一意のベクター パターンはサポートされなくなりました

Rust が流動的であることは理解していますが、とにかくそれを学ぼうとしています。0.9 で動作する次の例を、0.10 で動作する同様のものに適応させる方法を理解しようとしています。

これを 0.10 でビルドすると、次のエラーが発生します。

私の質問: argv でパターン マッチングを使用することは可能ですが、構文は異なりますか、それとも argv で match ステートメントを使用することはできなくなりましたか? 前者の場合、何を変更すればよいですか?