問題タブ [nim-lang]
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.
import - 式を評価してインポートを作成するマクロ
これは奇妙に思えるかもしれませんし、おそらく不可能かもしれませんが、渡された式を評価して実行するマクロを作成する方法があるかどうか疑問に思っていましたimport
.
文字列リテラルが式の場合、簡単に機能させることができます。
しかし、変数が渡された場合、これはもちろん失敗します。
(インポートは、モジュールを実行する文字列パスである可能性があることに注意してください。)
ex: expr
マクロに多くの調整を試み、ドキュメントとソースを精査しましたが、 の実際の値を で使用できるようにする方法が見つかりませんimport
。
渡された文字列を明らかにする呼び出しを作成するマクロを取得できますがecho
、インポートでそれを使用しようとすると、変数名自体が使用されてしまいます。
マクロ自体が評価されるときに値が利用できないように見えるので、それが原因だと思います。これを行うことは可能ですか?
string - Nimの文字列とは正確には何ですか?
私が理解していることから、Nim の文字列は基本的に変更可能な一連のバイトであり、割り当て時にコピーされるということです。
それを考えると、私はそれsizeof
が(のようにlen
)バイト数を教えてくれると思いましたが、代わり8
に私の64ビットマシンでは常に与えられるので、ポインタを保持しているようです。
それを踏まえて、以下の質問があります...
課題のコピーの背後にある動機は何でしたか? それらが可変だからですか?
割り当てられたときにコピーされないことがありますか? (
var
関数以外のパラメータはコピーされないと思います。他に何かありますか?)変異した場合にのみ実際にコピーされるように最適化されていますか?
文字列とシーケンスの間に大きな違いはありますか、それとも上記の質問に対する答えはすべてのシーケンスに等しく適用できますか?
一般的に注目に値するものはありますか?
ありがとうございました!
path - Nim(ロッド)がパスに正しくインストールされていませんか?
Nim(rod) を Linux にインストールするための手順に従っています。次に、これを行うことを示したこのサイトに従いました。
ターミナルに入力nim
しても何も起こりません。
ホーム ディレクトリにすべてのファイルを含む Nim フォルダがありますが、使用できません。
反響しました
export PATH=$PATH:$/home/bob/Nim/bin' >> ~/.profile
そして、nim コマンドはまだ何もしません。私はそれを正しくしていませんか?
コマンド pwd は/home/bob/Nim
、私が Nim フォルダーにいるときに教えてくれました。
Nim/binでshを使用してnimを実行してみましたが、./nim -path:/home/bob/Nim/bin
そしてそれは言った:
config/nim.cfg(45, 2) ヒント: 追加されたパス: '/home/bob/.babel/pkgs/' [パス] config/nim.cfg(46, 2) ヒント: 追加されたパス: '/home/bob /.nimble/pkgs/' [パス] ヒント: 使用される構成ファイル '/home/bob/Nim/config/nim.cfg' [Conf]