CJam 0,6,6 dev / GolfScript, 15 14 12 byte
"0$p"0$~a:n;
Cảm ơn @ jimmy23013 vì đã chơi golf 2 byte!
Phần còn lại để được cập nhật.
xác minh
Vì việc đệ trình liên quan đến khoảng trắng đáng kể, tốt nhất nên so sánh các hexdumps.
$ xxd -g 1 mpquine
0000000: 22 60 30 24 7e 22 30 24 7e 4e 4d 3a 6e 3b "`0$~"0$~NM:n;
$
$ cjam mpquine | tee quine.gs | xxd -g 1
0000000: 22 60 30 24 7e 22 60 30 24 7e 0a "`0$~"`0$~.
$ golfscript quine.gs | xxd -g 1
0000000: 22 60 30 24 7e 22 60 30 24 7e 0a "`0$~"`0$~.
$ cjam quine.gs | xxd -g 1
0000000: 22 60 30 24 7e 22 60 30 24 7e "`0$~"`0$~
$
$ golfscript mpquine | tee quine.cjam | xxd -g 1
0000000: 22 60 30 24 7e 22 60 30 24 7e "`0$~"`0$~
$ cjam quine.cjam | xxd -g 1
0000000: 22 60 30 24 7e 22 60 30 24 7e "`0$~"`0$~
$ golfscript quine.cjam | xxd -g 1
0000000: 22 60 30 24 7e 22 60 30 24 7e 0a "`0$~"`0$~.
Camam
Bản in của CJam "`0$~"0$~
và một linefeed trailing. Hãy thử trực tuyến!
Chương trình được tạo sẽ in "`0$~"0$~
với linefeed trailing trong GolfScript ( Thử trực tuyến! ), Nhưng không có linefeed trong CJam ( Thử trực tuyến! ).
Cách thức hoạt động của meta
"`0$~" e# Push that string on the stack.
0$~ e# Push a copy and evaluate it:
e# ` Inspect the string, pushing "\"`0$~\"".
e# 0$ Push a copy.
e# ~ Evaluate, pushing "`0$~".
e# Both "\"`0$~\"" and "`0$~" are now on the stack.
NM e# Push "\n" and "".
:n; e# Map print over the elements of "" (none) and pop the result.
e# "\"`0$~\"", "`0$~", and "\n" are now on the stack, and the
e# characters they represent will be printed implicitly.
Cách thức hoạt động
"`0$~" # Push that string on the stack.
0$~ # As in CJam.
<LF> # Does nothing.
# "\"`0$~\"" and "`0$~" are now on the stack, and the characters
# they represent will be printed implicitly, plus a linefeed.
Không giống như GolfScript, CJam không in một nguồn cấp dữ liệu theo mặc định, vì vậy đây không phải là một câu hỏi trong CJam.
GolfScript
Bản in GolfScript "`0$~"0$~
, không có khoảng trắng ở cuối. Hãy thử trực tuyến!
Chương trình được tạo sẽ in "`0$~"0$~
mà không có khoảng trắng theo dõi trong CJam ( Dùng thử trực tuyến! ), Nhưng GolfScript sẽ thêm một nguồn cấp dữ liệu ( Thử trực tuyến! ).
Cách thức hoạt động của meta
"`0$~"0$~ # As in CJam.
NM # Unrecognized token. Does nothing.
:n # Store the top of the stack – "`0$~" – in the variable n. n holds
# "\n" by default. When the program finishes, the interpreter
# prints n implicitly, usually resulting in a trailing linefeed.
# By redefining n, it will print "0$~" instead.
; # Pop the string from the stack so it won't be printed twice.
Cách thức hoạt động
"`0$~"0$~ e# Works as in GolfScript.
Không giống như CJam, GolfScript sẽ nối thêm một nguồn cấp dữ liệu vào nội dung của ngăn xếp, vì vậy đây không phải là một điểm trừ trong GolfScript.