問題タブ [crystal-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.
binding - Crystal-Lang C-Binding 構造体が null 値を渡していないようです
私は現在、libxml2での c-binding を使用して、crystal-lang の c14n サポートを追加しようとしています。xmlC14NDocSave を使用して、正規の xml をファイルに保存することに成功しました。私が抱えている問題は、xmlC14NDocSaveTo と xmlC14NExecute の両方の xmlOutputBufferPtr にあります。
私が受け取るエラーは(MacおよびLinux)です
xmlC14NExecute: 出力バッファ エンコーダー != NULL ですが、C14N には UTF8 出力が必要です
ドキュメントの状態
C14N は UTF-8 出力を必要とするため、このバッファはエンコーダ==NULL を持たなければなりません (MUST)。
私はsrc/C14N/lib_C14N.cr
次のコードを持っています
のsrc/C14N.cr
p ouput.encoder の結果はPointer(Void).null
、値が null のようです。
関数は、c14n.c
buf->encoder 構造体で null をチェックしているだけです
コードは私のgithubアカウントにあります。クローンして実行crystal spec
compile-time - "undefined method 'zero' for Nil:Class" when #sum the Array without Nils
The issue happens when the variable, that the array was built from, was a nil
initially.
When v
stops being nil
on a condition, that is potentially computational and not solvable while compiling:
The array gets more complex type, that isn't compatible with current sum
implementation, so p z.sum
causes compile time error:
How am I supposed to fight this properly?
Or maybe it waits for some better implementation of stdlib sum
method or anything else?
UPD: inject
gives the same:
crystal-lang - JSON 解析のデータ型を指定する方法は?
ハッシュの配列である JSON 応答があります。
私のコードは次のようになります。
これにより配列が得られますが、要素を実際に使用するには要素を型キャストする必要があるようですundefined method '[]' for Nil (compile-time type is (Nil | String | Int64 | Float64 | Bool | Hash(String, JSON::Type) | Array(JSON::Type)))
。
私は試しas Array(Hash)
ましたが、これは私に与えますcan't use Hash(K, V) as generic type argument yet, use a more specific type
。
タイプを指定するにはどうすればよいですか?
crystal-lang - Crystal でインスタンス変数をローカル変数に割り当てる必要があるのはなぜですか?
Crystalコンパイラのソースコードで、そのようなコードを見たことがあります
では、インスタンス変数を直接使用する代わりに、インスタンス変数をローカル変数に割り当てる理由は何でしょうか?
xml - Crystal を使用して XML::Nodeset の最初のノードから値を取得する
Crystal を使用しており、XML ドキュメント内のノードの ID を取得しようとしています。
次のコードを使用してIDにアクセスしています
ノードセットを調べると、期待どおりのコンテンツが得られます。
[#<XML::Attribute:0x1287690 name="ID" value="bar">]
そして、インスタンスメソッドを持つものをnodeset.class
返します。だから私は値を得るためにこれを行うことができるはずだと信じています:XML::NodeSet
[]
ただし、呼び出すnodeset[0]
と、次のエラーが表示されます。
メソッドが[]
nodeset を Float64 としてinspect
認識している理由がわかりません。class
XML::Nodeset
私は何が欠けていますか?
[]
String にはメソッドがあり、Float64 にはメソッドがないのは偶然ですか?
websocket - Crystal で WebSocket サーバーへの接続を開く方法 (Crystal をクライアントとして使用)
Crystal をクライアントとして使用して、websocket サーバー接続を使用したいと考えています。Crystal 標準ライブラリは WebSocket クライアント ライブラリを提供しますか?
crystal-lang - Crystal build fails with linker error
I've just tried to run the simple HTTP server from the language documentation. The program fails with an error.
The program has been copy-pasted from the documentation.
I can confirm that the program did/does run on my guest machine, but not on my host. Both are Ubuntu 14.04.3 installs.
crystal-lang - Crystal で arr の内容をバイナリ シーケンスにパックする
Array#packメソッドを使用して Ruby と同じ結果を達成する標準的な方法はありますか。