問題タブ [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.
crystal-lang - Crystalで16進文字列をバイト配列に変換するには?
Crystalで16進文字列をバイト配列に変換するにはどうすればよいですか?
例:
crystal-lang - INSTANCE = new in class は、コンパイル後に自動的に実行されますか、それとも初めてアクセスされたときに実行されますか?
質問はそれをすべて言います。例えば:
コンパイル後に自動的に出力されるのではなく、Foo::INSTANCE がアクセスされたときにのみ出力されます。
期待される動作ですか?
crystal-lang - 代入で変数名を繰り返さない
これを減らす方法を見たと思います:
このようなものに:
しかし、それは機能せず、混乱しているに違いありません。実際にこれを行う方法があるかどうか疑問に思っていますか? ありがとう
crystal-lang - Crystal プログラムで #put を受け取るオブジェクトは?
この基本的な Crystal プログラムでは:
の受信者は誰#puts
ですか? ですかself
?
- もしそうなら、どこにも定義が見つからないのはなぜですか?
- そうでない場合、誰ですか?
json - Crystal オブジェクトを JSON のカスタム ルート オブジェクトにラップする
次のようなクラスがあります
{root: "name of node"}
JSON.mapping 内で指定することにより、JSON オブジェクトで単一の属性をラップできることを知っています。Foo
しかし、クラス全体でそれを行う方法はありますか?
出力が次のようになるようにするには?
crystal-lang - マクロ内のクラスまたは構造体を再度開く
「通常の」コードでは、クラスがorklass.is_a?(Reference.class)
で実装されているかどうかを確認するために使用できます。class
struct
ただし、マクロで同じことを行って、上記のクラス/構造体を再度開く方法がわかりません。
例: クラスをマクロに渡す場合Array
、 で始まるコードを生成する必要がありますclass Array
が、 a のTuple
場合はstruct Tuple
.
Crystal::Macrosのドキュメントを何度も読みましたが、必要なことを実行してコンパイルできるコードを思いつくことができません。