> <> , 38 37 বাইট
অভিশাপ আপনি ডাবল স্পেস কেস * মাছ কাঁপায় *।
<v&0
>i:84*=?v0(?;67*o&1&
\ &0o?&a/
আপনি এটি অনলাইনে চেষ্টা করতে পারেন (আপনাকে যা করতে হবে তা হ'ল নীচের কাছের ক্ষেত্রটি দিয়ে ইনপুট দেওয়া এবং তারপরে Give
বোতামটি টিপুন)। আরও গল্ফ করার পরামর্শগুলি সর্বদা স্বাগত, বিশেষত দ্বিতীয় এবং তৃতীয় লাইনের সামনে সেই অপব্যয় স্থানগুলি সরিয়ে নেওয়ার জন্য ধারণা।
অতিরিক্ত স্থানগুলির জন্য যদি আপনাকে অতিরিক্ত নতুন লাইন প্রিন্ট করার অনুমতি দেওয়া হয় তবে কোডটি একটি বৃহত 27 বাইট হতে পারে :
>i:84*=?v0(?;67*o
^ oa<
ব্যাখ্যা
দ্রষ্টব্য: ব্যাখ্যার ক্রমটি পয়েন্টারের অবস্থানের সাথে মিলে যাবে (সুতরাং যদি কেউ আদেশটি বিবেচনা করে তার বাইরে কোডটি ব্যাখ্যা করা হয়, তবে এটি নির্দেশকটি এটি কার্যকর করার ক্রম হিসাবে কাজ করে)।
লাইন 1:
<v&0
< redirects flow leftward
0 pushes 0 onto the stack
& pops 0 and puts it in the register
v redirects flow downward
লাইন 2:
>i:84*=?v0(?;67*o&1&
> redirects flow leftward
i: pushes input and then duplicates it
84* pushes 32 (the space character numerically)
=?v pops 32 and input and redirects flow downward if they're equal
0(?; pops input and terminates if input is less than 0*
67*o pushes 42 (asterisk) and prints it
&1& pushes register value and then puts 1 in the register
*in ><>, the command i returns -1 if no input is given
লাইন 3:
এনবি এই লাইনটি বিপরীতে যায়, তাই ডান থেকে বামে পড়ুন।
^ &0o?&a<
< redirects flow leftward
a pushes 10 (newline) onto the stack
o?& prints a newline if the register is not 0
&0 sets the register to 0
^ redirects flow upwards (back to the second line)
মূলত, ইনপুটটি (যা একবারে একটি অক্ষর পড়া হয়) তা নিশ্চিত করার জন্য প্রোগ্রাম পরীক্ষাটি কোনও স্থান নয় এবং তারপরে একটি তারকাচিহ্ন প্রিন্ট করে। কোনও ইনপুট না থাকলে এটি শেষ হয় (ইনপুট মান -1)। এটি অতিরিক্ত নতুন লাইনগুলি প্রিন্ট না করে তা নিশ্চিত করার জন্য এটি নিবন্ধকের মানটি ব্যবহার করে যা এটি 0 বা 1 তে সেট করে I যখন 1
একটি নক্ষত্র ছাপানোর পরে নিবন্ধকের মান সেট করে ); প্রোগ্রামটি শেষ হয়ে গেলে তারা স্ট্যাকের উপরে থাকে কিন্তু কিছুই করে না।
আমি এটা বিভ্রান্তিকর একটি বিট যেহেতু আমি ব্যবহৃত হতে পারে জানি 84*
এবং 67*
পরিবর্তে " "
এবং "*"
যথাক্রমে, কিন্তু যে ছিল কারণ আমি কারনের জন্য প্রোগ্রামে স্ট্রিং নির্বাণ মত মনে হয়নি।