সিএপিএল 1.5+; 6 ইনপুট ছাড়া; ইনপুট সহ 10 - 10 = 0
সিডিনোট
আমি কোথাও পড়েছি [লিঙ্ক?] যে কাস্টম ভাষাগুলি গল্ফিং প্রশ্নগুলিতে অনুমোদিত নয়, কারণ তারা বিল্ট-ইন ফাংশনগুলি তৈরি করতে পারে যা প্রশ্নটি যা বলছে ঠিক তেমনই করতে পারে, তবে আমি সাধারণভাবে গল্ফিংকে আরও সহজ করার জন্য সিএপিএল তৈরি করেছি । আপনি যদি মনে করেন এটি এখানে অনুমোদিত নয়, আমাকে জানান!
আমি > <> এবং বেফুঞ্জের কাছ থেকে কিছু ধারণা পেয়েছি (আপনি রেখার মাঝে চলে যেতে পারেন এবং সংখ্যাগুলি ঠেকাতে হেক্সাডেসিমাল অক্ষর ব্যবহার করতে পারেন), কিছু রুবি থেকে এবং কিছু আমার নিজের থেকে গল্ফিংকে আরও সহজ করার জন্য।
সিএপিএল বাম থেকে ডানদিকে পড়ে এবং এক লাইনের নীচে লাইনের শেষে যায়। এটি যদি শেষ লাইন হিসাবে থাকে তবে প্রোগ্রামটি বন্ধ হয়ে যাবে।
যেহেতু কেউ এই ভাষাটি এখনও জানে না, আমি যথাসম্ভব ব্যাখ্যা করার চেষ্টা করব।
আউটপুটটিং y। 6 বাইট
bb*.n<
bb*
b
জন্য হেক্সাডেসিমেল হয় 11
, তাই bb*
হল 11*11
= 121
যার হল UTF-8 সমতূল্য, y
। এই মানটি স্ট্যাকের দিকে ঠেলে দেওয়া হয়।
.
স্ট্যাক থেকে শীর্ষ মানটি পপ করে এবং ইউটিএফ -8 হিসাবে আউটপুট দেয়। হিসাবে 121
স্ট্যাকের উপরে হয় সূচক এখানে উপেক্ষা করা হয়।
n
একটি নতুন লাইন আউটপুটগুলি
<
লাইনের শুরুতে পয়েন্টারটি ফেরত পাঠায়, এইভাবে লাইনটি পুনরাবৃত্তি করে। আমরা যেমন ইনপুট আশা করি না, আমরা ইনপুটটির জন্য পুনরায় জিজ্ঞাসা না করেই নিরাপদে এটি করতে পারি।
ইনপুট থেকে আউটপুটিং। 10 বাইট, 0 বোনাস পরে
i~a&{X:.)}
i
ব্যবহারকারীর কাছ থেকে ইনপুট নেয়, স্ট্যাকের শীর্ষে UTF-8 হিসাবে চাপ দেয় এবং এর পরে দৈর্ঘ্যের দিকে ধাক্কা দেয়। অর্থাৎ [72,101,108,108,111,5]
~
স্ট্যাক থেকে একটি নম্বর পোপ করে, তারপরে সেই পরিমাণ বাইট বিপরীত হয়। অর্থাত [111,108,108,101,72]
a
জন্য হেক্সাডেসিমেল 10
, NEWLINE চরিত্র
&{...}
একটি অসীম লুপ তৈরি করে। আমাদের ইনপুট রয়েছে, তাই আমরা পয়েন্টারটি লাইনে ফিরে পাঠাতে পারি না। আমি নীচের লাইনে ফাংশনটি রাখতে পারি, যা আমার বাইট সুরক্ষিত করতে পারে, তবে এই চ্যালেঞ্জে নতুন লাইনের অনুমতি নেই।
X
স্ট্যাক থেকে শীর্ষ মানটি সরিয়ে দেয় (লুপ থেকে সূচক)
:.
শীর্ষ মানটি নকল করে, তারপরে ইউটিএফ -8
)
টার্ন স্ট্যাক ডান হিসাবে আউটপুট দেয় । ( [1,2,3,4,5]
-> [5,1,2,3,4]
)
যাইহোক, এর অর্থ আমরা একটি নতুন লাইন দিয়ে শুরু করব, তারপরে ইনপুট আউটপুট শুরু করতে হবে, তারপরে একটি নতুন লাইন, তারপরে ইনপুট ইত্যাদি If বোনাস
iXa#~&{X:.)}
এখানে কেবলমাত্র নতুন কমান্ডটি রয়েছে #
, যা স্ট্যাকের আইটেমের পরিমাণ স্ট্যাকের দিকে ঠেলে দেয়।
আমি দৈর্ঘ্যটি সরিয়েছি i
, কারণ 1 যুক্ত করে, তারপর নতুন লাইনের সাথে অদলবদল অপসারণ এবং আবার দৈর্ঘ্য পাওয়ার চেয়ে দীর্ঘ longer
শুধু মজাদার জন্য, এখানে একটি "হ্যালো ওয়ার্ল্ড" প্রোগ্রাম
"Hello World"#~
#?!;.<
?!
অপারেশন> <> 'গুলি হিসাবে একই
y
বা\n
ভিতরে ব্যবহার করতে পারি না" হিসাবে এটি পড়া উচিত ?