Lostは、IPの開始位置と方向が完全にランダムな2次元プログラミング言語です。
これにより、決定論的なロストプログラムを作成することが非常に困難になります。しかし、今日は決定論的なプログラムを書いているのではなく、RNGを書いています。
入力を受け取らず、1桁(0、1、2、3、4、5、6、7、8、または9)を出力するロストプログラムを作成します。すべての数字は出力される確率が等しくなります。Lostの開始位置と方向がランダム性の唯一のソースであるため、これを行う唯一の方法は、ソースのすべての位置に0〜9の異なる数字を出力させ、各数字を同じ数字で出力することです。
-Q
フラグを使用してこのpythonスクリプトにパイピングすることにより、各桁の確率を計算できます
import sys
a=sys.stdin.read().split()[:-1]
for x in range(10):print x,':',a.count(`x`)
print[x for x in a if x not in list("1234567890")]
これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数が少ない方が優れています。
ロストの概要
Lostは、クラインの型から多くを奪う、暗黙のIO 2D言語のラッピングです。失われたコマンドの機能の簡単なチートシートを次に示します
\
、/
、|
ミラーIP<
、^
、>
、v
の方向でipポイント[
IPが東に移動している場合、IPを反映します。]
IPが水平方向に移動している場合になります]
IPが西に移動している場合、IPを反映します。[
IPが水平方向に移動している場合になります!
次の操作をスキップします?
スタックの一番上から飛び出し、ゼロでない場合はジャンプします:
スタックの最上部を複製します$
スタックの上位2つのアイテムを交換します(
スタックからポップし、スコープにプッシュします)
スコープからポップしてスタックにプッシュします0
-9
プッシュnはスタックの最上部へ"
文字列リテラルを開始および終了します。文字列リテラルでは、コマンドは実行されず、代わりに文字値がスタックにプッシュされます。+
上位2つの数字を追加します*
上位2つの数値を乗算します-
トップに-1を掛けます%
安全をオフにします#
安全をオンにします@
安全性がオフの場合、実行を終了します(オンに開始)
[]
ドアとして機能し<>
、方向を示し()
、スコープから保存およびリコールします。スコープは値を保存するために使用されます。
@
であり、他のユースケースはありますか?括弧については、この部分がわかりません:becomes ] if the ip is moving horizontally
。東への移動も水平方向ですね。