揮発性を解釈する
Volatileは、A_ / a '_' / Aによって作成されたスタックベースのesolangであり、8つの命令しかなく、完全に処理しています。ただし、これは非決定的でもあります。つまり、プログラムが常に同じ出力を与えるわけではありません。あなたの仕事はこの言語を解釈することです。
言語仕様
esolangsページから取得:
~: Push a random integer in any range of integers. Minimum range of 0 through 32768
+: Pop 2 values and push the sum of the 2 values
-: Like +, but subtracts
*: Multiply
/: Divide. 0-division will result in an error.
:: Duplicate the top of the stack
.: Output the top of the stack without popping it
(...): Execute ... inside a while loop when the top of the stack is not 0
他はすべて無視されます
入力
これらのプログラムはランダムに失敗する可能性があることに注意してください
~:/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++.~:/::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++.~:/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.~:/:::::::::::::::::::::::::::::::::+++++++++++++++++++++++++++++++++.~:/::::::::::++++++++++.
~:-.~:/+.(~:/+.)
~:-:/
出力
73 102 109 109 112 45 33 120 112 115 109 101 34 11
0 1 2 3 4 5 6 7 8 9 ...
<Any Error Message>
その他の例と参照実装((もう1つの)python 3インタープリターの下にある2番目の例を使用)は、https://esolangs.org/wiki/Volatileにあります。
得点
これはコードゴルフなので、バイト単位の最短の答えが勝ちます
リーダーボード
これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。
回答が確実に表示されるようにするには、次のMarkdownテンプレートを使用して、見出しから回答を始めてください。
# Language Name, N bytes
N
提出物のサイズはどこですか。スコアを向上させる場合は、古いスコアを打ち消すことで見出しに残すことができます。例えば:
# Ruby, <s>104</s> <s>101</s> 96 bytes
ヘッダーに複数の数値を含める場合(たとえば、スコアが2つのファイルの合計である場合や、インタープリターフラグのペナルティを個別に一覧表示する場合)、実際のスコアがヘッダーの最後の数値になるようにしてください。
# Perl, 43 + 2 (-p flag) = 45 bytes
言語名をリンクにして、リーダーボードスニペットに表示することもできます。
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
~
整数、または任意の番号をプッシュしますか?
1
ゼロで除算される可能性があるpush にリストされている方法が原因です。~
ゼロをプッシュできる必要があります。それ以外の場合は確定的です。また、RNGは、任意の数のゼロが連続した後に常にゼロを返すことができる必要があります。
~:-.~:/+.(~:/+.)
、0 1 2 ...
代わりにから始めるべきではありません1 2 3 ...
か?その~:-.
結果、0が出力されます。Esolangページのそれらの通訳はこれを確認しているようです(ここでは2番目)。
~:-.(~:/+.)