問題タブ [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.
raku - rakubrew を使用して他のバージョンの rakudo にモジュールをインストールする
rakubrew を使って rakudo のバージョンアップをする場合、バージョンを変えるのはとても簡単ですが、raku のモジュールを古いバージョンから新しいバージョンにインポートできるか知りたいです。doign zef install 自動的に:
更新するには:
しかしその後:
したがって、現在使用しているすべてのモジュールをインストールする必要があります。
rakubrew build-zef zef install Sparrow6 zef install Linenoise
.zef や .rakubrew など、このモジュールを自動的に維持するためにチェックするファイルが存在します。
regex - Raku 正規表現: 先読み内でキャプチャ グループを使用する方法
先読みアサーション内でキャプチャ グループを使用するにはどうすればよいですか?
このコード:
戻り値:
しかし、「b」もキャプチャすることを期待していました。
そうする方法はありますか?
「b」をマッチの一部にしたくないので、先読みの外に「b」を残したくありません。
「b」をキャプチャする方法はありますが、それでもマッチの外に残しますか?
ノート:
次のように、Raku のキャプチャ マーカーを使用しようとしました。
しかし、「b」が一致の外側に残っていても、正規表現は「b」を処理しているため、これは期待どおりに機能しないようです。そして、私も処理されたくありません。
例えば:
raku - 実際にはスカラーではないスカラーでハイパーオペレーターを使用する方法は?
セットのハッシュを作成したい。そうですね、SetHashes は変更可能である必要があるためです。
実際、同じ SetHash の複数の同一のコピーで Hash を初期化したいと考えています。
新しいハッシュのキーを含む配列があります。@keys
そして、SetHash はスカラー変数で既に初期化されています。$set
ハッシュを初期化するクリーンな方法を探しています。
これは機能します:
(括弧は優先順位のために必要です。それらがなければ、への割り当てはループ%hash
の本体の一部になりfor
ます。後置のない for ループに変更するか、他のいくつかの小さな変更のいずれかを行って、同じ結果をわずかな時間で得ることができます。別の方法ですが、それは私がここで興味を持っていることではありません.)
代わりに、次のような Raku の気の利いたハイパーオペレーターの 1 つを使用できることを期待していました。
この式$set
は、単純な文字列または数値であるが、SetHash である場合にうまく機能しますか?
知っておくと良いのですが、どの順序でもRHS を超えてはなりたくないのです。そのため、hyperop の右向きバージョンを使用しました。そのため、必要に応じて RHS をレプリケートし、LHS に一致させます。このような表現で、「よ、楽、これをスカラーとして扱ってください。いや、本当に」と言う方法はありますか?
明示的な Scalar ラッパーを試しました (値を取得するのが難しくなりますが、これは実験でした)。
そして、それは私にこのメッセージを受け取りました:
そのため、明らかに左側のリストに再帰し、単一のキーを見つけて、4 つの要素を持つ右側のセットにマップしようとしています。これが私が望むものです-セットにマップされたキー。しかし、代わりにそれをセットの要素にマッピングしており、ハイパーオペレーターはそのサイズの組み合わせに対して間違った方向を指しています。
では、なぜ右に再帰しているのでしょうか。Scalarコンテナがそれを防ぐと思いました。ドキュメントには、平坦化を防ぐと書かれています。この再帰はどのように平坦化されていませんか? 描かれている区別は何ですか?
エラーメッセージには、私が使用しているハイパーオペレーターのバージョンが「非ドウィミー」であることが示されています。これは、実際に私が意図したことを実行していない理由を説明している可能性がありますが、私をさらにさせるより少ないドウィミーバージョンがあるかもしれません明示的な?私はまだ、Raku が WIM を確実に認識できるように機能する方法に十分に対応できていません。