問題タブ [rakudo]
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.
scripting - Perl 6 のデモ/サンプル コードはどこにありますか?
Rakudo を持っているので、試してみたいと思います。インターネットを調べたところ、クールな Perl 6 のコード スニペットがいくつか見つかりましたが、完全なスクリプトは見つかりませんでした。実用的な Perl 6 スクリプトを提供しているサイトを歓迎します。
みんなありがとう、Ehtyar。
raku - rakudoperl6で文法を使用する際の問題
最も単純な文法の使用法では、計算エラーが発生します。
のように呼び出さsrc/rakudo/perl6 simple.p6
れ、失敗します
同様の結果が得られた既知の動作例をいくつか試したので、perl6の設定が正しくない可能性があります。
perl6で文法を使用する場合は、セットアップを教えてください。前もって感謝します。
raku - 私が実行しているperl6/rakuのバージョンを知る方法は?
スイッチを試してみると-v
、オウムのsvnリビジョンが表示されます。
しかし、どうすればrakudoのバージョンを知ることができますvx.xx
か{some-git-hash}
?
ありがとう、
performance - Perl 6の実装が成熟するにつれて、どのようなパフォーマンスの向上が期待できますか?
Rakudo Perl 6の新しいコピーをダウンロードするたびに、現在のパフォーマンスを把握するために、次の式を実行しました。
また、速度は向上していますが、毎回、計算に顕著な遅延(数秒)があります。比較として、Perl 5(または他のインタプリタ言語)でのこのようなものは、ほぼ瞬時に返されます。
またはRubyの場合(ほぼ瞬時に):
式をPerl6として書き直すとloop
、範囲を縮小する場合の約2倍の速度になりますが、単純な計算では、それでも非常に顕著な遅延(1秒以上)になります。
だから私の質問は、Perl6実装のどの側面がこれらのパフォーマンスの問題を引き起こしているのかということです。そして、これは時間とともに改善する必要がありますか、それともこのオーバーヘッドは、Perl6が使用している「すべてがオブジェクトである」モデルの不幸な副作用ですか?
そして最後に、loop
構成は[+]
リダクション演算子よりも高速です。ループは、削減よりも合計操作数が多くなると思います。
編集:
できればmortiz
、との両方の答えを受け入れます。すべてがメソッド呼び出しとして処理されているということは、なぜ遅いのかをhobbs
より直接的に答えるので、それを取得できます。[+]
raku - Rakudoでスクリプトを実行しようとすると、「ゼロ除算」エラーが発生するのはなぜですか?
RakudoとParrotを作成して、Perl 6の学習を開始できるようにしました。Perl6の本をダウンロードして、最初のデモプログラム(テニストーナメントの例)を楽しく入力しました。
プログラムを実行しようとすると、エラーが発生します。
perl6
ビルドディレクトリにバイナリがあります。rakudoビルドディレクトリの下にscriptsディレクトリを追加しました:
スクリプトディレクトリから単純なhelloworldスクリプトを実行しようとすると、同じエラーが発生します。
ただし、rakudo
ディレクトリから実行すると機能します。
設定する必要のある環境変数がいくつかあるように思えますが、それらに何があり、どのような値を与えるかについては迷っています。
何かご意見は?
アップデート:
この時点ではrakudoをインストールするのではなく、ビルドディレクトリから実行するだけです。これにより、さまざまなPerl6ビルドを試してみるときに、システムへの変更を最小限に抑えることができます(Rakudo *は間もなくリリースされます)。
READMEファイルは、これが可能であると私に考えさせました。
これにより、現在の(rakudo)ディレクトリに「perl6」または「perl6.exe」実行可能ファイルが作成されます。次に、次のようなコマンドを使用して、ビルドディレクトリからプログラムを実行できます。
読み直してみると、ビルドディレクトリの外でスクリプトを実行する前にrakudoをインストールする必要があるという事実への参照が見つかりました。
ビルドされると、Rakudoの
make install
ターゲットは、Rakudoとそのライブラリを作成に使用されたParrotインストールにインストールします。この手順が実行されるまで、上記で作成された「perl6」実行可能ファイルはmake
、Rakudoのビルドディレクトリのルートからのみ確実に実行できます。実行後make install
、インストールされた実行可能ファイルは任意のディレクトリから実行できます(作成に使用されたParrotインストールがそのまま残っている限り)。
したがって、Perl6で遊ぶにはrakudoをインストールする必要があるようです。
次の質問は、rakudoがどこにインストールされているかです。READMEは、ビルドに使用されたParrotインストールについて説明しています。
--gen-parrot
ビルドでこのオプションを使用しました。これはにインストールされるようrakudo/parrot-install
です。だからrakudoは私のにインストールされますrakudo\parrot-install
か?
Makefileを読むと、この結論が裏付けられます。を実行しましmake install
たが、にインストールされましparrot_install
た。
ビルド/インストールプロセスのこの部分は、Perl6の初心者にはわかりません。物事を明確にするためのドキュメントパッチを用意できるかどうかを確認します。
頭のてっぺんから:
make install
ビルド外でスクリプトを実行する前に実行することを強調します。この要件は現在、段落の途中に埋もれており、ドキュメントをざっと読んでいる人(私)が簡単に見逃してしまう可能性があります。--gen-parrot
withがperl6をディレクトリにインストールすることを明示的に記述しparrot_install
ます。
sdl - オウムSDLPirモジュールをrakudoにロードする方法は?
rakudoでdeparrotSDLモジュールをロードする方法がわかりません。pirコードでそれを行う例を見つけました。
しかし...perlコードを使用してpirSDLモジュールをrakudoにロードする方法はありますか?
perl - Rakudo Perl のソケットコード
Rakudo Perl ( http://github.com/rakudo/rakudoのリポジトリから新たにビルド) でいくつかのソケット コードを実行しようとしましたが、 IO::Socket::INETの実装が不完全なようです。
私が実行しようとしているコードはここにあります: http://github.com/carlins/irc-client/blob/master/lib/IRC/Client.pm
これはエラーです:
公式の tarball からビルドされた Rakudo Star でも同じことが起こります。ポインタ?
perl - Rakudo(Perl6):まだ機能していない機能は何ですか?
Rakudo:まだ機能していない機能がすべてリストされている場所はありますか?
perl - Perl6 は Perl5 の __DATA__ および __END__ セクションと同等のものをサポートしていますか?
perl6/Rakudo には perl5__DATA__
や__END__
セクションに相当するものはありますか?