問題タブ [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.
nimrod - フィールド名のないタプル
各フィールドに名前を付けなくても、nimrod でタプルを宣言できることに気付きました。例えば:
ただし、これは最後に提出されたものには適用されません
何故ですか?これは意図したものですか?最後のフィールドに常に名前を付ける必要があるのはなぜですか?
nimrod - Nimrod 初心者 - Fizzbuzz - コンパイルと実行
最初の nimrod プログラムを fizzbuzz にコンパイルして実行してみました。
Nimrod は git からインストールされ、バージョンは .
だからここにフィズバズがあります
私はcにコンパイルしました(より良いオプションはありますか?)、それは私には問題ないように見えました。
しかし、それを実行しても何も出力されません。私が間違っていることはありますか?
nimrod - Nimrod で関数ポインタを使用するにはどうすればよいですか?
Nimrod で関数ポインタを使用することは可能ですか?
私が試したことは次のとおりです。
しかし、コンパイルしようとすると、次のようになります。
c++ - C++11 スタイルの強力な typedef を使用して新しいプリミティブ型を作成するにはどうすればよいですか?
Nim プログラミング言語とは異なる型を C++ でエミュレートしようとしています。次の例は Nim でコンパイルされません。これは、バイナリ レベルではどちらも float であるにもかかわらず、コンパイラが変数をキャッチし、
異なる型 ( ) を持っているためです。e
d
Error: type mismatch: got (Euros, float)
C++ でこれを行う 1 つの方法は、float のラッパー クラスを作成することです。ただし、サイズが float と同じではないため、型をエクスポートする API ではうまく機能しません。または、クラスのサイズが float のストレージ長と一致しても、char 型のサイズと一致することはありません。これは、加算、減算などの演算に可能なすべての演算子も実装する場合に機能しますが、多くの入力とコードの複製が必要です。
新しいプリミティブ型の作成のような古い質問 には、ブーストの強力な typedef を使用するための受け入れられた回答があります。ただし、typedef は関数型シグネチャに対してのみ機能するようです。typedef は、float で継承された 2 つの型が一緒に追加され、それらの型が完全に変更されることを防ぎません (新しい型の錯覚があるだけなので)。
test()
署名が一致しないため、呼び出しは機能しませんが、言語では、他の操作で型を自由にマングルできます。
同じ回答で C++0x が強力な typedef をもたらすと言及されているので、この新しいサポートを探したところ、Bjarne Stroustrup 自身が 2012 年に C++11 スタイルの基調講演を行っていることがわかりました。21 分頃、彼はこれらの新しい強力な typedef について話し始めます。スライドだけをダウンロードすると、19 ページでSI 単位についての説明が始まり、その後 22 ページと 23 ページでこれがどのように行われるかが説明されます。ただし、例を機能させることができませんでした。これが私がなんとか作り上げたパッチワークです:
コマンドラインで最新のXcode 5.1.1を使用してMacOSXでこれをコンパイルしようとしています:
スライドに示されている例と、さらにコードが不足している可能性がありますか? Bjarne が実証しようとしていたことの完全な例を誰かが持っていますか?
json - Nimでオブジェクトをjsonに変換する方法
私は Nim で小さな Web サービスを作成しており、json でリクエストに応答する必要があります。jester モジュールを使用してサービスを作成しています。Nim の基本ライブラリの json モジュールを使用して、フィールドと値を持つある種のオブジェクトを構築し、それを json 文字列に変換できると思います。しかし、どのように?または、Nim で json を構築するためのより良い方法はありますか?
safari - nimrod httpserver がサファリで動作しない
私は Nimrod を少しいじっていて、HTTPServer モジュールを試しました。私の標準ブラウザであるSafariでWebページにアクセスしようとすると、エラーが発生したため、最初は機能しないと思いました。次のようなエラーがありました: (正確に正しくない場合は申し訳ありません。オランダ語から翻訳されています)
Safari でこのページを開くことができません ネットワーク接続が予期せず失われたため、Safari でページ localhost:5000 を開くことができません
しかし、Chrome または Firefox でページを開こうとすると、問題なく動作します。
私のニムロッドコード:
nim-lang - この構文の名前は何ですか
言語 nim では、次のことができます。
これはと同じです
したがって、基本的には、ドットの前の式を関数の最初の引数として使用します。他の言語にもこの機能があると確信していますが、直接思い浮かんだものはありません。
私が知りたいのは、この構文の名前です
typeclass - Nim の型クラス
Nim で型クラスを簡単に使用しようとしています。私は今朝から Nim しか使っていないので、ばかげたことをしている可能性があることを覚えておいてください。
とにかく、 type の値のストリームを生成する疑似乱数ジェネレーターを定義したいと思いますT
。時にはT
数値であるため、達成可能な最小値と最大値について何かを知ることは理にかなっています-たとえば、値を再スケーリングします。ここに私のタイプがあります
私もそのような例を持っていますLinearCongruentialGenerator
。
Uniform
これを使用して、間隔で float 値を生成するジェネレーターを定義するとします。私が試してみました
next
、min
およびの明白な定義は省略しmax
ます。
ただし、上記はコンパイルされません。Error: 'BoundedGenerator' is not a concrete type
LinearCongruentialGenerator
の代わりに明示的に配置するとBoundedGenerator[int]
、everyting がコンパイルされますが、もちろん、より洗練されたジェネレーターを切り替えられるようにしたいと考えています。
コンパイラエラーを理解するのを手伝ってくれる人はいますか?