> <> , 106 104 बाइट्स
मुझे लग रहा है कि> <> इसके लिए सबसे अच्छी भाषा नहीं हो सकती है, लेकिन मैं इसे छोड़ने और इसे पोस्ट नहीं करने के लिए बहुत दूर आ गया हूं। *
लाइन 4 के अंत में एक अंतरिक्ष माना जाता है। क्या आपको यह पसंद नहीं है कि यह कोड कितना अविश्वसनीय रूप से आकर्षक है? इसे ऑनलाइन आज़माएं ।
<v?(0:i
v>~" ## "}}l:::
>"#"o1-:?!v02.>~a"#"oo
"-2ooa"#"~<.31v!?:-1o"
7v?=3loroo"#"a<.4
.>";^"e3pa2p093
यहां कुछ भी बिना दिशा के संस्करण है, लेकिन यह संकेत देने के लिए दिशा परिवर्तक है कि सूचक कैसे चलता है (ध्यान दें कि मैंने "टेलपोर्ट" स्टेटमेंट को छोड़ दिया है, अर्थात .
)।
दिशा प्रवाह:
<v
v>
> v >
< v
v <
>
व्याख्या
स्टैक का मेरा विज़ुअलाइज़ेशन इनपुट के आधार पर होगा input
। > <> एक दो आयामी भाषा है, इसलिए ध्यान दें कि सूचक लाइनों के बीच कहां जा रहा है, क्योंकि यह उसके नीचे कोड निष्पादित करता है (इस कोड <>v^
में मुख्य रूप से दिशा बदलने के लिए उपयोग किया जाता है)। मैं अपना स्पष्टीकरण शुरू कर रहा हूँ जहाँ से सूचक शुरू होता है। ध्यान दें कि दो पंक्तियों को दोहराया जाएगा, क्योंकि पांचवीं पंक्ति के बाद सूचक पीछे की ओर बढ़ता है।
मैं हमेशा किस तरह शांत रहता हूं> <> अपने स्वयं के स्रोत कोड को संशोधित करने की क्षमता है, और मैं इस कार्यक्रम में इसका उपयोग करता हूं। पंक्तियों 3 और 4 का पुन: उपयोग किया जाता है, जिसमें प्रत्येक वर्ण के संशोधन के माध्यम से अंतिम दो पंक्तियों को मुद्रित किया जाता है।
पंक्ति 1: इनपुट लूप
<v?(0:i
< change direction to left
(0:i checks if input is less than 0 (no input defaults to -1)
v? change direction to down if so
ढेर: [-1,t,u,p,n,i]
लाइन 2: आउटपुट की तीसरी लाइन उत्पन्न करता है
v>~" ## "}}l:::
>~" ## "}} remove -1 (default input value) from stack and pads with # and spaces
l::: push 4 lengths of padded input
ढेर: [9,9,9,9,#, ,t,u,p,n,i, ,#]
लाइन 3: आउटपुट की पहली लाइन प्रिंट करता है
>"#"o1-:?!v02.>~a"#"oo
>"#"o print "#"
1- subtract 1 from length (it's at the top of the stack)
:?!v move down if top of stack is 0
ढेर: [0,9,9,9,#, ,t,u,p,n,i, ,#]
आउटपुट:
#########
लाइन 4: आउटपुट की दूसरी लाइन प्रिंट करता है
"-2ooa"#"~<.31v!?:-1o"*
-2ooa"#"~< pops 0, prints newline, "#", then decrements length by 2
" o"* prints space (* is supposed to be space char)
-1 decrements top of stack
.31v!?: changes direction to down if top of stack is 0, else jumps back to "
ढेर: [0,9,9,#, ,t,u,p,n,i, ,#]
आउटपुट ( *
अंतरिक्ष का प्रतिनिधित्व करता है):
#########
#*******
लाइन 5: आउटपुट की तीसरी लाइन प्रिंट करता है
7v?=3loroo"#"a<.4
oo"#"a< prints "#",newline
r reverses stack
7v?=3lo .4 outputs until stack has 3 values, then changes direction to down
ढेर: [9,9,0]
आउटपुट:
#########
# #
# input #
लाइन 6: आउटपुट की चौथी और पांचवीं पंक्तियों को प्रिंट करने के लिए खुद को सेट करता है
.>";^"e3pa2p093
>";^" push ";",then "^"
e3p place "^" as the fifteenth character on line 4
a2p place ";" as the eleventh character on line 3
0 push a value (value doesn't matter -- it will be deleted)
. 93 jump to the tenth character on line 4
ढेर: [0,9,9,0]
पंक्ति 4: आउटपुट की चौथी पंक्ति प्रिंट करें
"-2ooa"#"~<.31^!?:-1o"*
ooa"#"~< delete 0 (unnecessary value pushed), then print newline,"#"
-2 subtract two from value on top of stack (length)
" .31^!?:-1o"* print space until top of stack is 0, then change direction to up
ढेर: [0,9,0]
आउटपुट ( *
अंतरिक्ष का प्रतिनिधित्व करता है):
#########
# #
# input #
#*******
पंक्ति 3: आउटपुट की अंतिम पंक्ति प्रिंट करें
"#"o1-:?!;02.>~a"#"oo
>~a"#"oo pop top of stack, print "#", newline
"#"o1-:?!;02. print "#" until top of stack is 0, then terminate
ढेर: [0,0]
आउटपुट:
#########
# #
# input #
# #
#########