ヨルフでのゴルフのヒント


12

Jolfは、@CᴏɴᴏʀO'Bʀɪᴇɴによって作成された手続き型ゴルフ言語です。

ジョルフでゴルフをするためのヒントはありますか?

回答ごとに1つのヒントを投稿してください。

これらのヒントは、少なくともある程度Jolfに固有のものである必要があります。たとえば、コメントを削除することは答えですが、あまり良いものではありません。


サイトへようこそ。詳細については、「質問方法」ページとツアーページをご覧ください。
Rɪᴋᴇʀ

回答:


4

JavaScriptフォールバック

なんらかの奇妙な理由でJolfのゴルフが足りない場合、または単に対処できない場合は、JavaScript evalを使用すると便利かもしれません。これは、2つの方法のいずれかで発生する可能性があります。

1.設計された評価

内部の$...$すべては文字通りJSトランスピレーションに引き継がれます。たとえば、に+3$~$5トランスパイルしadd(3, ~5)ます。同様に、+3:~5

2.配列の評価

JolfでJS配列を使用できます!主に。これは一種のバグですが、修正するつもりはありません。例えば:

u[3*5,5/6,(3+4)/5]

トランスパイル:

sum([2 * 3, 5 / 3, (3 + 4) / 5]);

1
なんらかの奇妙な理由で、ジョルフが十分にゴルフ好きなら(...?)
エリック・ザ・アウトゴルファー

@EriktheOutgolferは**ではありません
コナーオブライエン

7

自動割り当て変数を知ってください!

Jolfには変数を「自動で割り当てる」多くの方法があります。標準的なものはγで、次の式の値を取ります。Β同じことですが、次の式を数値に変換します。

また、ζ(zeta)は-1/12(理由を推測する)に初期化された変数であり、次のように再割り当てできます。Ζ(Zeta)。

たとえば、I(入力文字列)をそれ自体に対する操作と比較するとします。とりあえず、を見てみましょうI + I = reverse(I + I)。これは、次のように書かれています。

=+II_+II

ただし、これは次のように分類できます。

=γ+II_γ

あなたの-1/12ゼータは弦理論に関係していますか?すべての自然数を加算して-1/12を取得する方法を知っています
-DeepDeadpool

1
@GheyPhistorどのストリング理論?ただし、自然数のゼータ関数は-1/12です。
コナーオブライエン

6

使用する @

@ソースコード内の次の文字を取り、その文字のコードポイントを返すコマンドです。(たとえば、@X88を返します。)2バイトで0から255までの任意の数を表現できるため、これは非常に便利です。


「100と255の間」
リーキー修道女

@KennyLau Jolfでは、10実際は数値で1あり、数値は数値で0はなく、1010-255のようなものです。
spaghetto

私は..感謝を参照してください
漏れ修道女

4

ソースを読む

現時点では、多くの文書化されていないものmがあります。その中には謎のモジュールがあり、多くの組み込み機能があります。ただし、それらはソースに存在するため、いったんハングアップしたら読むのはそれほど難しくないので、ソースを読んでください。


1
mysterious mATHモジュール。
コナーオブライエン

1
module。(さらに6つ...)
リーキー修道女

2

機能アリティを増やす

すべての関数にはアリティがあります。たとえば+、アリティは2です。(たとえば)5つの要素を追加する場合、5つの+ s ... または doを使用できます+θ12345。具体的には:

  • θ 関数のアリティを3増やします。
  • 親関数*+~θ345678のアリティを*3 増やします(したがって、アリティを3 増やします)
  • M 関数のアリティを2増やします。
  • ~M 親関数のアリティを2増やします。
  • ; 関数のアリティを1増やします。
  • ~; 親関数のアリティを1増やします。
  • η 関数のアリティを1減らします。
  • 親関数のアリティを1減らします。
  • \xad 親関数のアリティを次の文字の文字コードに設定します。

*+~θover の利点は何*θ+ですか?
user253751

@immibisその場合はありませんが、それは単なる例示にすぎません。Jolfには、解析時に2つの関数を渡す関数がいくつかあります。次に、最上位関数のアリティにアクセスする唯一の方法はを使用すること~<char>です。
コナーオブライエン

2

暗黙的な入力を活用する

関数に十分な引数がない場合、残りの引数を入力で検索します。例えば:

+uz

以下に移行します:

add(sum(unaryRange(x)), x)

それは同等です

+uzxx

1

o値を保存するために使用

他の言語が簡単/短い参照のために変数を割り当てる方法と同様に、Jolfにはがありoます。

たとえばoThx、入力に1を加えて印刷します。

これは無意味な例ですが、式がより複雑な場合 hx、深刻なバイト数を節約できます。

また、v"var name"<val>複数文字の変数名を許可V"var name"し、スコープから変数を取得します。

これを私に説明し、前の文を与えてくれたコナーに感謝します。


またv"var name"<val>、複数文字の変数名を許可V"var name"し、スコープから変数を取得することに注意してください。
コナーオブライエン

@CᴏɴᴏʀO'Bʀɪᴇɴああ、それが彼らがすることです。投稿に追加します。
Rɪᴋᴇʀ

2
oこのヒントのThx:P
Downgoat

@EᴀsᴛᴇʀʟʏIʀᴋ o代入変数であることはしゃれでした
コナーオブライエン

CᴏɴᴏʀO'Bʀɪᴇɴ0、ええ...... @
Rɪᴋᴇʀ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.