問題タブ [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.

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

import - FFI およびヘッダー ファイル

これは私のディレクトリ構造です:

util nim は次のように lodepng.h から ac 関数をインポートしています:

ただし、ヘッダーは nimcache にコピーされず、コードのコンパイル時にも見つかりません。nimコンパイラがそれを使用していることを確認するにはどうすればよいですか?

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

syntax - Nim: 文字列定数の前の感嘆符の意味

マクロのドキュメント ( http://nim-lang.org/docs/macros.html ) を読んで、次のコードを見つけました。

感嘆符の意味を調べようとしましたが、Nim のドキュメントには何も見つかりませんでした。

では、 Nimの"string"との違いは何ですか?!"string"

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

tuples - Working with distinct tuples

With a type defined as type BroTuple = distinct tuple[a, b, c: int], how can i:

  • Create a new instance (Brotuple() is telling me Error: object constructor needs an object type)

  • Access to its fields (proc example(br: BroTuple) = echo br.a says: Error: undeclared field: 'a')

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

seq - Nim でシーケンスをクリアする

List.ClearJava や C# などの言語におけるシーケンスの Nim の等価性は何ですか? システムに procsetLenがリストされているのを見ますが、それが私が望むことをするかどうかはわかりません。説明から:

f the current length is greater than the new length, s will be truncated. s

seq len を 0 に設定するたびに、seq の新しいインスタンスが作成されるということですか?

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

channel - tryRecv を使用したコンパイラ エラー

次のNimプログラムがあります:

コンパイルしようとすると、次のエラー メッセージが表示されます。

エラーメッセージが何を伝えようとしているのか理解できません...

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

macros - Nim マクロ パラメータ

コンパイルしたいコードは次のとおりです。

それは完全に機能します。マクロ内に必要なものがすべて揃っているので、自分の方法でスタッフを操作できます。

しかし、それから、マジックナンバーをいくつかの const 設定から削除する方が良いと思います:

このコードは失敗します。文字どおりマジックナンバーMAGIC_AMOUNTと違って整数値ではないからです。42

では、nimのマクロ内で変数値を取得するにはどうすればよいですか?

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

performance - Nim での整数オーバーフローの回避

私は昨日 Nim の学習を開始し、Rust とのパフォーマンス比較を行うために小さなテストをコーディングすることにしました。コードは非常に簡単に記述でき、最大 10^9 の値に対して機能します。ただし、少なくとも 10^12 でテストする必要があります。これにより、uint を使用している場合でも、オーバーフローが原因で誤った値が返されます。

ほとんどの変数に対してさまざまな変換を試みてきましたが、オーバーフローを回避できないようです。もちろん、コードを読みやすくするための提案は大歓迎です!