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, stuffinga 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.pyi 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