イオでのゴルフのコツ


10

イオでゴルフをするための一般的なヒントはありますか?私はコードゴルフの問題全般に適用でき、少なくともある程度はIoに固有のアイデアを探しています(たとえば、「コメントの削除」は回答ではありません)。回答ごとに1つのヒントを投稿してください。


1
Ioへのリンクを追加してもらえますか?
caird coinheringaahing

回答:


1

ほとんどのリテラルの後ろにメソッドを貼り付けることができます

"text" print    # 12 bytes
"text"print     # 11 bytes

12 print        # 8 bytes
12print         # 7 bytes

(0<1,0,1) print # 15 bytes
(0<1,0,1)print  # 14 bytes

全てではない

0x12print # prints nothing

1

if関数のelse部分は省略できます

これはドキュメントにはありません...他の言語のelvis演算子のように、elseの部分を含める必要があると最初は思っていました。else部分は省略できることがわかりました。(これをチュートリアル/ドキュメントに追加してください!)

if("bug"size>2,"True",nil)

したがって、else部分が何も返さないようにするには、次のようにします。

if("bug"size>2,"True")

1

高水準関数の省略表現

これはかなり興味深いゴルフのポイントのようです。例えば

list(1,2,3)map(i,i+1)print

ただし、Ioはカウンターを指定しないことをかなり許容しています。Ioがこの式のオペランドを入力しようとするため、マップボディはポイントフリー関数として使用できます。これはゴルフすることができます

list(1,2,3)map(+1)print
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.