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

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

crystal-lang - Crystal lang、GC を待たずにインスタンス (オブジェクト) を明示的に破棄 (解放) することは可能ですか?

タイトルがすべてを物語っています。たぶん、次のように呼び出すことができるメソッドがありdef destruct; delete self;endますか?

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

garbage-collection - glib を Crystal lang にバインドする (GC の問題)

glib から Crystal にいくつかの関数をバインドしようとしています。私はこれを行いましたが、動作します:

ただし、メモリ リークが発生します。g_* 関数で作成されたオブジェクトはガベージ コレクションされません。

CrystalのBoehm GCでglibをうまくプレイさせることは可能ですか? PCREに触発されて、私はこれを試しました:

g_malloc関数と関数をオーバーライド/再定義することを望んでいますg_free。しかし、うまくいきません: セグメンテーション違反で失敗します。

glib を GC でプレイする方法はありますか? どういうわけか関連する質問を見つけましたが、役に立ちませんでした:ガベージコレクションとglib?

よろしくお願いします。

0 投票する
3 に答える
3557 参照

linux - 出力をキャプチャしながらCrystalでシェルスクリプトを実行する方法は?

stdout と stderr の出力を処理しながら、シェル スクリプトを実行したいと考えています。現在、stdin、stdout、stderr のProcess.run、 with 、および 3 つのパイプを使用してコマンドを実行しています。shell=falsestdout と stderr から読み取り、出力をログに記録 (またはその他の方法で処理) するファイバーを生成します。これは、個々のコマンドではうまく機能しますが、スクリプトではひどく失敗します。

shell=trueを呼び出すときに簡単に設定できますProcess.runが、Crystal ソースを見ると、コマンドラインの先頭に「sh」を追加するだけのようです。「bash」を先頭に追加しようとしましたが、役に立ちませんでした。

リダイレクト ( >file) やパイプ (例curl something | bash) のようなものは動作しないようですProcess.run

たとえば、シェルスクリプトをダウンロードして実行するには、次のことを試しました。

cmd = %{bash -c "curl http://dist.crystal-lang.org/apt/setup.sh " | バッシュ}

Process.run(cmd, ...)

イニシャルbashは、パイプ オペレーターを有効にすることを期待して追加されました。役に立たないようです。また、各コマンドを個別に実行してみました:

script.split("\n").reject(/^#/, "").each { Process.run(...) }

しかしもちろん、コマンドがリダイレクトやパイプを使用している場合は失敗します。たとえば、コマンドecho "deb http://dist.crystal-lang.org/apt crystal main" >/etc/apt/sources.list.d/crystal.listは単純に次のように出力します。

"deb http://dist.crystal-lang.org/apt crystal main" >/etc/apt/sources.list.d/crystal.list`

``代わりにバックティックの実行方法を使用するとうまくいくかもしれません。しかし、そうすると、出力をリアルタイムでキャプチャすることができなくなります。

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

crystal-lang - Pry for Crystal に相当するものはありますか?

私はクリスタル言語で非常に新しいです。Ruby の Pry のようなデバッガが Crystal に存在するかどうか知りたいですか?

これは、この行でプログラムの実行を停止するときに「binding.pry」のようなコードを入れて、変数を制御できることを意味します。

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

crystal-lang - Crystal の簡略ブロック構文

Crystalでブロックの省略形を使用することは可能ですか?

この試みはエラーを返します:

... Symbol ではなく、関数型が必要です

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

ruby - Crystal が Ruby よりも速いのはなぜですか?

コードは非常に似ていますが、Crystal が Ruby よりも正確に高速である理由を知りたいです。簡単に言えば、それはコンパイルされており、Ruby は解釈されているということかもしれませんが、言語仕様についてもっと理解したいと思っています。

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

crystal-lang - Crystal で Ruby の gem を使用することはできますか?

開発者によると、Crystal は Ruby 言語の構文に従っています。では、Ruby gem を必要とするだけで (または将来)、魔法のようにビルドして適切に動作させることはできますか?

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

file - コンパイル済みスクリプトの __FILE__ を取得

Crystal スクリプトのコンパイル済みバージョンを取得して、独自の __FILE__ を取得するにはどうすればよいですか。ここに例があります。~/test.cr というファイルがあり、次の内容が含まれています。

Crystal経由でスクリプトをコンパイルします

次に ~/test.compiled を実行します。私が結果を出す

__FILE__ は実際には

生成させる方法はありますか

それ以外の

0 投票する
3 に答える
810 参照

http - Crystal-lang ファイル/画像アップロード http サーバー

ファイルのアップロードを処理する Crystal ベースの Web サーバーを持つことは可能ですか? 私はドキュメントと多くの Crystal Web フレームワークを見てきました。シンプルなファイルアップロード機能への言及はどこにも見つかりませんでした。

これは可能ですか、それとも画像のアップロードを処理するために他の場所を探す必要がありますか?