Vitsy, 10 27 byte
'rddd++&"rdd8++a[v}v1-D);].
Nếu :
được cho phép, tôi có thể rút ngắn điều này xuống còn 11 byte. :
Giải trình:
'rddd++&"rdd8++a[v}v1-D);].
' Capture all instructions as a string until encountering
' again, looping if necessary.
r Reverse the current stack (output is top-down).
ddd++ Push char literal ' to the stack.
& Push a new stack to the stack stack.
" Same as ', but " specific.
r Reverse the current stack.
dd8++ Push char literal " to the stack.
a Push 10 to the stack.
[ ] Loop forever.
v Capture the top value as a variable.
} Take the bottom item of the stack and put it on the top.
v Dump the variable to the stack.
1- Subtract 1.
D Duplicate the top item.
); Pop n; if n is 0, exit the loop.
a[v v1-D);] This is a makeshift for loop with 10 iterations.
. Pop the top stack as n, and the second stack as o.
Write a file called "n" with the contents of "o".
Hai ngăn xếp sẽ giống hệt nhau ở cuối. Trên một số phiên bản Java, điều này có thể FileNotFoundException
gây ra do các triển khai khác nhau của FileInputStream
lớp.
Câu trả lời trước khi chỉnh sửa:
&'rddd++}.
Giải trình:
& Push a new stack to the stack stack.
'rddd++ Modified standard quine.
} Move the ' to the right place.
. Pop the top stack as n, and the second stack as o. Write a file called
"n" with the contents of "o". (Quine name, no content)
Bởi vì tôi cũng có thể, đây là sơ đồ các bước xảy ra trong ngăn xếp (mỗi ngăn xếp được thể hiện bởi []
):
Initial state: [[]]
& [[], []]
Push a new stack to the stack stack.
' [[], ["r", "d", "d", "d", "+", "+", "}", ".", "&"]]
This stack state occurs because ' will loop around the line
until finding the next '.
r [[], ["&", ".", "}", "+", "+", "d", "d", "d", "r"]]
Reverses the top (last) stack.
ddd [[], ["&", ".", "}", "+", "+", "d", "d", "d", "r", 13, 13, 13]
Push thirteen thrice.
++ [[], ["&", ".", "}", "+", "+", "d", "d", "d", "r", "'"]
Because char ' is 39 = 13 + 13 + 13.
} [[], [".", "}", "+", "+", "d", "d", "d", "r", "'", "&"]]
Takes the bottom item, then puts it on the top.
. []
Writes a file with content from the second-to-top stack and the
name as the concatenation of all elements in the top stack,
with top member priority (backwards from my representation).
Tôi thực sự không chắc làm thế nào điều này hoạt động đúng; thay đổi phút khiến điều này bị phá vỡ. Ví dụ: đặt &
các vị trí khác nhau cũng hoạt động tốt, nhưng nó gây ra ClassCastException
s, IOException
s và ArrayOutOfBoundsException
s tùy thuộc vào nơi bạn đặt nó. Tôi có thể cần phải làm một số sửa lỗi.