1

REDUCE を使用する場合、基本的に DO 方言で操作します。グループは、アイテムの優先順位に使用できます。

>> reduce ["Hello" (3 + 4) * 5]
== ["Hello" 35]

コンポーズ方言でパレン!DO 方言で評価したいブロックの部分を呼び出すために使用され、残りはそのままにしておきます。

>> compose ["Hello" (3 + 4) * 5]
== ["Hello" 7 * 5]

しかし、reduce または compose を実行したい場合、いくつかのことをリテラル括弧として残しておきたい場合to-paren、ブロック以外に別の慣用句はありますか?

>> reduce ["Hello" (3 + 4) * 5 to-paren ["inside!"]]
== ["Hello" 35 ("inside")]

補足: LIT-PAREN からどのような狂気がもたらされるのだろうか?

>> reduce ["Hello" (3 + 4) * 5 '("inside!")]
== ["Hello" 35 ("inside")]

……また、考えたくて仕方がない。:-)

4

2 に答える 2

3

あなたが望むものを達成するためのより一般的な方法は、に依存することですquote:

>> reduce ["Hello " (3 + 4) * 5 quote ("inside!")]
== ["Hello " 35 ("inside!")]

QUOTE は R3 と 2.7.7 以降の R2 で利用できます。

于 2013-01-13T23:33:24.157 に答える
2

別のイディオム、はい:

>> reduce ["Hello" (3 + 4) * 5 first [("inside!")]]
== ["Hello" 35 ("inside")]

それがより良いかどうかはわかりませんが、それはの動物です.

于 2013-01-13T19:40:11.600 に答える