To jest wspólna odpowiedź z BlueEyedBeast
Postanowiłem zastosować podejście 2D do tego pytania ... Tak, jest 7 esolangów 2D!
Inspiracją dla dodatkowych języków dodałem odpowiedź BlueEyedBeast (Foo, GolfScript)
<ESC>
jest dosłowną postacią Escape .
#>!>\'n\'r\'o\'c\,,,,,@'s'a'l'a'dJ,é'g'n+'i+'s+'s+'e+'r+'d+.ó[-]+[----->+++<]>.+++++++++++.+++[->+++<]>++.+[--->+<]>.+++H'turkey'~;oooooooo'sweettea.0-5++++++++fffffffff''`'
# >99*d1+c3-c89*4+dcc99*2+c!|$l9D3-O93++dOO8+O1+O1-O5+OO1+O95++O.
# >'p'()'u'()'m'()'p'()'k'()'i'()'n'()'p'()'i'()'e'()\
print'biscuits';'pecanpie'#"stuffing"R'c!'o!'r!'n!'b!'r!'e!'a!'d!*<ESC>ddddddSapplepie
Befunge-98
#?!> nothing important
'n push 'n'
STACK: [110]
\ swap top two stack values (TBH, I'm not really sure what happens in this case)
STACK: [110, 0]
'r\'o\'c\ repeat the same for other characters
STACK: [110 114 111 99 0]
,,,,, output the next 5 top stack values, "corn"
@ end program
rest of the code is irrelevant
since program has already stopped
Wypróbuj online! wyjściacorn
> <>
Polecenia są wyświetlane w kolejności, w jakiej się pojawiają
enter from the left, direction = right
# mirror, now the direction will change to left
and it wraps around and comes to the right
and reads code from the right to the left
'`' push this
' ... 5-0.aetteews' push this too
oooooooo outputs the top 5 characters of the stack
; end program
Wypróbuj online! (Tylko kopiuj i wklej)sweettea
V.
...<ESC> writes stuff over three lines and enters normal mode
ddddddS deletes 3 lines, delete another line and enter insert mode
applepie writes "applepie"
Wypróbuj online! wyjścia applepie
(uruchomienie może potrwać około 20 sekund)
Python 2
# first two lines are comments
print"biscuits"; # prints "biscuits" and ends statement
'pecanpie' # dangling (and ignored) string literal
Wypróbuj online! (Tylko kopiuj i wklej)biscuits
05AB1E
#>!> # does nothing important
\'n\ # push 'n' and delete it
'r\'o\'c\ # repeat for other characters
,,,,, # prints 5 times (since there is nothing in stack,
# prints nothing)
@ # push the index of the top of stack
's'a'l'a'd # push these characters
J, # join them and print them out
# the rest of the code does not matter
# since there is no implicit print
# because we used the print statement
Wypróbuj online! wyjściasalad
Gol> <>
Polecenia są wyświetlane w kolejności, w jakiej się pojawiają
enter from the left, direction = right
# mirror, now the direction changes to left
and it wraps around and comes to the right
and reads code from the right to the left
' starting parsing strings
` escape next character
' gets escaped
" stop string parsing
fffffffff pushes 15, 8 times
++++++++ adds up the numbers, resulting in 135
5- subtract 4 from it, 130
0 pushes 0
0 jumps to (130, 0)
#\'n\'r\'o\'c\,,,,,@'r'o'l'l'sJ, ... H'turkey'~;oooooooo"sweettea.0-5++++++++fffffffff""`"
^
we are here now
˜ removes value at top of stack, '"'
"yekrut" push this string
H Output stack as characters and halt program
Wypróbuj online! wyjściaturkey
bla
Foo wypisuje wszystko w podwójnych cudzysłowach, dlatego starałem się nie używać podwójnych cudzysłowów w innych językach. Ponieważ "stuffing"
jest w cudzysłowie, zostanie wydrukowany.
Wypróbuj online! wyprowadza, stuffing
a następnie ma błąd
Haystack (2015)
Używa interpretera Haystacka 2015 (nie 2016), ponieważ nowsza wersja jest nieprawidłowa. Tłumacz na to jest haystack.py
i nie haystack_new.py
Polecenia są wyświetlane w kolejności, w jakiej się pojawiają
# ignored
\ reflection (now it moves downwards)
> set direction to right
99*d1+c Output 'R'
3-c Output 'O'
89*4+dcc Outputs 'L', newline, 'L'
99*2+c!| Outputs 'S' and ends the program
Note: '!' is ignored by the interpreter
Ten program generuje dane
R
O
L
L
S
i nowy wiersz po tym wyjściu (hej, białe znaki nie mają znaczenia!)
GolfScript
first 2 lines are comments
print'biscuits'; pushes "biscuits" to the stack and discards it
'pecanpie' push this
#... comment
implicit output
Wypróbuj online! wyjściapecanpie
BF
Użyłem https://copy.sh/brainfuck/text.html do konwersji tekstu na BF. Chociaż istnieje wiele ,
instrukcji wejściowych, kod BF działa niezależnie od niego.
Wypróbuj online! wyjściagravy
Rozszczepienie
Aby rozpocząć program rozszczepienia, atom musi zostać spawnowany. Widzimy, że dzieje się to w trzeciej linii:
..."stuffing" Blah blah blah
R Spawns an atom with direction right
'c Gives the atom the mass of 'c''s ASCII value
! Print the atom's mass
'o!'r!'n!'b!'r!'e!'a!'d! Do the same for other characters
* Destroy atom, end program
Wypróbuj online! wyjściacornbread
Minkolang v0.15
# Doesn't really do anything
\ Reflect, moves downwards
> Changes direction to right
... !| Does stuff in stack, '!' ignores the '|'
$l9D3 ... ++O Uses ASCII character codes to print "applecider"
. Ends program
Wypróbuj online! wyjściaapplecider
Poważnie
é - clear stack
'g'n+'i+'s+'s+'e+'r+'d+ - load chars onto stack
. - print stack
ó - exit
Wypróbuj online! wyjściadressing
Axo
(Polecenia są wyświetlane w kolejności ich napotkania)
#> blah blah
! rotate direction 90 degrees clockwise
> go right
'p'() push char and output
'u'() ... 'e'() repeat for other characters
\ end program
Wypróbuj online! wyjściapumpkinpie