問題タブ [raku]
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.
raku - rakudoperl6で文法を使用する際の問題
最も単純な文法の使用法では、計算エラーが発生します。
のように呼び出さsrc/rakudo/perl6 simple.p6
れ、失敗します
同様の結果が得られた既知の動作例をいくつか試したので、perl6の設定が正しくない可能性があります。
perl6で文法を使用する場合は、セットアップを教えてください。前もって感謝します。
perl - Raku(以前はPerl 6として知られていました)を学ぶ価値はありますか?
Rakudoコンパイラを使ってPerl6で2日間のクラスを受講する機会があります。
宗教戦争を始めたくないのですが、時間の価値はありますか?Perl 6が今後2年以内に現実の世界で実用化されると信じる理由はありますか?現在、誰かがそれを効果的に使用していますか?
アップデート
クラスを受講してたくさんのことを学びました。しかし、1日目以降、私の心は少し圧倒されました。Perl 6にはたくさんのクールなアイデアがあり、他の言語にフィルターをかけるものを見るのは素晴らしいでしょう。
2日目はあまり吸収できませんでしたが、全体的には時間の有効活用でした。3日間の授業だったら、短時間で処理できる量に限界があるからといって、非生産的だったでしょう。
raku - Perl 6 の現在の状態は?
Perl 6 の現在の状態は? 私たちは今どこに立っていますか?Perl 6 の現在の進捗状況に興味を持っているプログラマーはたくさんいます。
これについて、redditとhttp://perlmonks.org/?node_id=835419で公開されている他の 2 つのトピックもあります。
raku - Rakudo Star(perl6)のリリース日はいつですか?
特定のリリース日が利用できない場合(私はそうではないと思うので)、リリースを許可する目的の機能セットにどれだけ近いかを追跡するためのリソースを提供できますか。
私は必ずしもパーセンテージゲージ、またはXofY機能の完了リストを求めているわけではありません。Rakudoのバグを追跡しているperlRTインスタンスのどのセクションでもマークされたバグのリストは、私の基準を満たします。リストが動的である場合はさらにそうです(つまり、チケット番号の静的リストではなく、何らかの方法でタグ付けされたバグのリストです) 。最終テストの準備ができていると見なされる前に、終了/テストする予定の機能がわずかしかない場合は、それらをリストするだけでも十分です。
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
ます。
cpan - Perl 6 で動作する CPAN/CPAN6 のようなプロジェクトはありますか?
最近 Rakudo Perl 6 をいじっていて、CPAN に似たプロジェクトを探していました。CPAN 6 は見つかりましたが、Perl 6 のコードはまだないと思います。
だから私は、必ずしも長期的な解決策を目指しているわけではありませんが、モジュールを維持でき、Perl 6 で書かれている代替案を探しています。
Rakudo の開発が進むにつれて、より複雑な Perl 6 コードをすぐに作成できるようになるかもしれません。
perl - perl6で配列またはハッシュからメソッドを作成する方法
オブジェクトに動的に新しいメソッドを追加しようとしています。
次のコードは問題なく機能します。
これは期待どおりに「ポン」を出力しますが、以下は期待どおりに機能しません。
111または333のいずれかを印刷します。
誰かが私が欠けているもの、または結果が私が期待していたものと異なる理由を説明できますか?
sdl - オウムSDLPirモジュールをrakudoにロードする方法は?
rakudoでdeparrotSDLモジュールをロードする方法がわかりません。pirコードでそれを行う例を見つけました。
しかし...perlコードを使用してpirSDLモジュールをrakudoにロードする方法はありますか?