問題タブ [red]
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.
case-sensitive - より厳密に書く方法は?(-少ない?, -以上か等しいか?, -少ないか等しいか?)
Rebol と Red は、一種の「自然な平等」として、通常のequal?
関数 (単に として提供される中置記号) の概念を持っています。=
したがって1 = 1.0
、一方が整数で他方が浮動小数点数であっても比較を行い、デフォルトで大文字と小文字を区別せずに文字列と文字を比較します。
このstrict-equal?
関数は大文字と小文字を区別し、同じデータ型であることを要求し==
、インフィックスとして関連付けられています。(strict-not-equal?
としての機能もあります!==
。)
ただし、他の比較演算子には厳密なバリアントがないようです。ボックス内のプリミティブを使用してastrict-greater?
または aなどをどのように実装しますか?strict-lesser-or-equal?
たとえば、動作は次のようになります。
parsing - Rebol/Red の自己変更解析ルールに関するルールは何ですか?
私は自己変更ルールを調べており、セマンティクスとは正確には何なのか、そしてそれらがどのように機能するのか疑問に思っています。これはかなり幅広い質問ですが、具体的な「これを行うにはどうすればよいか」という質問を使用して、より焦点を絞った質問にします。 (^(64) は小文字の「d」の 16 進 ASCII であるため、検出されません)
それを実行すると、次のようになります (Rebol と Red の両方で):
ルールは更新されたようで、かなり「安全に見える方法」で更新されました (安全と思われるものがある場合)。より邪悪なバージョンがあります:
Rebol と Red の両方で:
どのようにクラッシュしないのか、私はちょっと混乱しています。しかし、それが何らかの形で防弾されていると仮定すると、最初の例を機能させる方法はありますか?
rebol2 - red という単語がブール変数なのはなぜですか?
なぜred
ブール変数なのか知りたいですか?
(おそらく関係ない) 補足: rebol
REBOL 2.7 ではコンソールのタイプはobject!
.
rebol - ブロックに保持されている印刷物と記号の関係を理解する
シナリオ 1:
シナリオ 2:
シナリオ 1 と 2 が同じ動作をすることを期待していました (評価時にエラーが発生するか、シンボルとして扱われる)。
次のシナリオがprint
Red/Rebol の概念に固有のものなのか、理解する必要があるのか を理解しようとしています。
ブロック内のすべての単語が記号として扱われ、(必要に応じて) それらを評価する関数が必要であることを理解しています。したがって、シナリオ 1 は理にかなっています。しかし、( を使用して) ブロックから単語を抽出するfirst
と、それは記号のままですか?
red - Red ルーチンでの参照渡し
そのため、現在、降下サイズのプログラムを Rebol 3 から Red に移行中です。このプログラムは、C ライブラリ (clang) への大きなバインディングに依存しています。Red/System のバインディング部分を書き直して、ラッパー ルーチンを介してそのコードを Red と接続しています。私が使用している現在の規則は、パラメーターとして必要であり、C コードによって返されるポインターと void ポインターを red/system 整数にキャストし、それらを Red 整数としてボックス化することです。これはかなり簡単で便利です。
生の整数にしかアクセスできないので!実際の構造体の代わりにデータを使用すると、上記の方法論を使用して、パラメーターを介してポインターを戻すことができないと思われます (ボックス化されたデータが渡される前にコピーされるため)。
では、パラメーターを介してポインターを戻すための推奨される方法論はありますか? 別名、ルーチンで参照渡しする方法はありますか?
string - Red/Rebol 文字列をシリーズに変換する方法
文字列を系列に変換する方法があれば知りたいです。解析を使用してデータを抽出しようとしています。キャプチャしたデータの一部を小さなフラグメントに分割して、IF、CASE、または SWITCH ステートメントを実行できるようにしたいと考えています。
以下は少しのコードです。
私が理解しているように、「検索」はシリーズで機能します。これが、if ステートメントが期待した結果をもたらさない理由である可能性があります。ただし、変数「tag」は単なる文字列です。
文字列をシリーズに変換する方法はありますか? または、文字列で機能して部分文字列を見つける関数はありますか?
rebol - parse ダイアレクト内のマップに追加
一部のURLmap
がmap
. まだ にない場合はmap
、それ (および URL) を追加します。
ただし、単語quarto_hash
と単語quarto_url
はその値に変換されません。これは問題に対する最も単純なアプローチではない可能性があるため、ご意見をお待ちしております。もう 1 つの質問:map
何千もの要素の挿入と検索にすばやく対処できますか、それとも他に適切な型はありますか?
参考までに、私は を使用していますが、近い将来にも使用するため、タグもRebol3
含めました。これに最適なアプローチは何ですか?Red
Red