問題タブ [rascal]
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.
rascal - list[value] を map[value,int countOccurences] に変換します
重複を数えて結果をマップに書き込むエレガントな方法はありますか?
私は従来のループなどでこれを行う方法を知っていますが、単純に非常に興味があります: 内包表記、リデューサー、またはより伝統的な Rascal API などを使用してこれを行う良い方法 (ワンライナーなど) はありますか?
たとえば、次のように変換します。
に
送信、
ヨス
rascal - Rascal 構造の見栄えを良くする
構造を明確にするために、名前を付けることができます。つまり、本質的に私は Rascal で「構造体」を求めています。例えば:
に:
送信
ヨス
rascal - セット内の要素のプロパティを変更し、セットに戻す
ここに問題があります。
データ型とデータ型のセットがあるとします。
セットの要素を繰り返し処理し、次のように要素を変更したいと思います。
rascal - 文字列の長さ (バイト単位)
Rascal Lib に文字列の長さをバイト単位で取得する関数はありますか?
IO の getFileLength() 関数と少し似ています。
Location 値にオフセットを設定するために必要です。
rascal - Rascal のスタックの最良の方法は?
Rascal には Stack のサポートが組み込まれていることは確かですが (たとえば、スタックのプッシュ/ポップによる式の評価)、何も見つかりません。
なので今はこれを使っています。しかし、より良い方法はありますか?
ポップ:
押す
rascal - 位置のオフセットを増やして位置をクリックする
場所をクリックする際に問題が発生しました。私がしていることは、関数を使用してメソッドから AST を作成することです。
メソッドは単なるインスタンスです
そのツリーにアクセスして、たとえばifステートメントを取得したい場合は、呼び出すことができます
ソースが印刷され、それをクリックすると、Eclipse は適切な if ステートメントを使用して適切なクラスに移動します。フォームは次のようになります。
しかし、メソッドを使用してファイルから AST を取得すると、次のようになります。
メソッドやファイルの代わりにクラスを提供することもできます。アクセスして同じ if ステートメントを取得して印刷することもできますが、フォームが異なり、クリックできません。なぜだめですか ?
その形式は次のようになります。
また、各位置が印刷された後にオフセットが大幅に増加していることにも気付きました。
正しい場所をクリックできるようにするにはどうすればよいですか? オフセットと場所の形で何かをしなければならないと思います。メソッドを使用しようとしました:
Registry クラスから取得しましたが、それも機能せず、|loc 定義の宣言を調べようとしましたが、それもありませんでした。
前もって感謝します。