問題タブ [rust-crates]

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 投票する
1 に答える
578 参照

rust - クレートのインストールにテキストファイルを含める方法

私のプログラムは、ローカル マシンで期待どおりに動作します。Emacs の「Spook」アミューズメント (Mx spook) の流れで、テキスト ファイルからランダムな行を出力します。テキスト ファイルは にありますsrc/spook.lines

しかし、それをクレートとして公開してインストールすると、テキストファイルが見つかりません (src/spook.linesプログラムが crates.io からインストールされた場合に存在しないため):

ファイルを含める方法は次のとおりです。

貨物/クレートのパッケージにテキスト ファイルを含めるように指示できないのはなぜですか? 好ましい方法は何ですか?ファイルを特定のディレクトリに含めたとしてもPATH、プログラムはどこからでも実行される可能性があるため、実行には含まれません。

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

module - Rust でのクロスモジュール関数呼び出し

あるモジュールに属する関数を別のモジュールから呼び出そうとしています (コードのファクタリング、編成などのために)。

これが私のクレート構造です:

私はmain宣言します:

これらすべてのファイルには、単純に trivial が含まれていますpub fn main() {println!("hello");}

この時点で、すべて問題ありません

では、から呼び出すことはできますか?lib::two::mainbin/one.rs

use crate::lib::two;、 、のいずれも作業use super::lib::two;use self::super::lib::two;追加されませんでしbin/one.rsた。


  • 編集: 私は: rustc 1.42.0 (b8cedc004 2020-03-09)Linux 5.3.0-45-generic にインストールしました。

  • 編集2:superキーワードを使用するたびに、次の不思議なエラーが発生しますrustc

これに関するトラブルシューティングはどこにもありません。

  • 編集 3:モジュール構造の宣言にlib.rsファイルを追加し、書き込みを行いますが、:srclibuse mod_test::lib::two;one.rs

    1)クレートで「ダムモジュール宣言ファイル」を増やさないという考えを無効にします。

    main.rs2) 2 つの異なる場所 (とlib.rs)でまったく同じ情報を文字通りコピーする必要があります。

    3)use mod_test::lib::two;は唯一の機能する構文です。crateまたはsuperキーワードを使用すると、難解なコンパイラ エラーが発生します。

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

generics - さびのジェネリック配列クレートでジェネリック配列を初期化する方法は?

ジェネリック配列クレートを使用します。

ただし、値を初期化する方法については説明していません。

テスターを支援する遊び場がここにあります。