回答:
なんらかの奇妙な理由でJolfのゴルフが足りない場合、または単に対処できない場合は、JavaScript evalを使用すると便利かもしれません。これは、2つの方法のいずれかで発生する可能性があります。
内部の$...$
すべては文字通りJSトランスピレーションに引き継がれます。たとえば、に+3$~$5
トランスパイルしadd(3, ~5)
ます。同様に、+3:~5
。
JolfでJS配列を使用できます!主に。これは一種のバグですが、修正するつもりはありません。例えば:
u[3*5,5/6,(3+4)/5]
トランスパイル:
sum([2 * 3, 5 / 3, (3 + 4) / 5]);
Jolfには変数を「自動で割り当てる」多くの方法があります。標準的なものはγ
で、次の式の値を取ります。Β
同じことですが、次の式を数値に変換します。
また、ζ
(zeta)は-1/12
(理由を推測する)に初期化された変数であり、次のように再割り当てできます。Ζ
(Zeta)。
たとえば、I
(入力文字列)をそれ自体に対する操作と比較するとします。とりあえず、を見てみましょうI + I = reverse(I + I)
。これは、次のように書かれています。
=+II_+II
ただし、これは次のように分類できます。
=γ+II_γ
すべての関数にはアリティがあります。たとえば+
、アリティは2です。(たとえば)5つの要素を追加する場合は、5つの+ s ... または doを使用できます+θ12345
。具体的には:
θ
関数のアリティを3増やします。~θ
親関数*+~θ345678
のアリティを*
3 増やします(したがって、アリティを3 増やします)M
関数のアリティを2増やします。~M
親関数のアリティを2増やします。;
関数のアリティを1増やします。~;
親関数のアリティを1増やします。η
関数のアリティを1減らします。~η
親関数のアリティを1減らします。\xad
親関数のアリティを次の文字の文字コードに設定します。*+~θ
over の利点は何*θ+
ですか?
~<char>
です。
関数に十分な引数がない場合、残りの引数を入力で検索します。例えば:
+uz
以下に移行します:
add(sum(unaryRange(x)), x)
それは同等です
+uzxx
o
値を保存するために使用他の言語が簡単/短い参照のために変数を割り当てる方法と同様に、Jolfにはがありo
ます。
たとえばoThx
、入力に1を加えて印刷します。
これは無意味な例ですが、式がより複雑な場合 hx
、深刻なバイト数を節約できます。
また、v"var name"<val>
複数文字の変数名を許可V"var name"
し、スコープから変数を取得します。
これを私に説明し、前の文を与えてくれたコナーに感謝します。
v"var name"<val>
、複数文字の変数名を許可V"var name"
し、スコープから変数を取得することに注意してください。
o
代入変数であることはしゃれでした