আমি আরও সংক্ষিপ্ত প্রোগ্রামগুলির জন্য আরও উন্নত গল্ফস্ক্রিপ্ট লেখার পরিকল্পনা করছি যা আরও বেশি কিছু করতে পারে। এটি কোনও চ্যালেঞ্জ নয়; এটি আমার কী করা উচিত তার প্রতিক্রিয়া এবং টিপসের অনুরোধ। (ট্যাগ দেখুন)
আমি নিশ্চিত নই যে এটি সম্প্রদায়ের উইকি হওয়া উচিত। যদি আপনি এমনটি মনে করেন তবে কেবল একজন মডারেটরের পক্ষে এটি রূপান্তর করার জন্য পতাকাঙ্কিত করুন :)
এই ভাষাটি গল্ফস্ক্রিপ্টের সাথে খুব মিল থাকবে। এটি এখনও রুবিতে লেখা আছে। তবে এর কয়েকটি পার্থক্য রয়েছে:
`
স্ট্রিং ডিলিমিটার হিসাবে ব্যবহার করা, কারণ এটি একটি অস্বাভাবিক চরিত্র, তাই কম পালানোর প্রয়োজন হবে। (অন্য একটি চরিত্র তার ফাংশনটি প্রতিস্থাপন করতে পারে#
( যেমন আরও পরে))।\`
ব্যাকটিক\\
থেকে বাঁচতে, ব্যাকস্ল্যাশ থেকে বাঁচতে, এবং অন্য কোনও পালানোর অনুক্রম নেই। আপনার যদি একটি নতুন লাইনের প্রয়োজন হয় তবে কেবল স্ট্রিংয়ের মধ্যে একটি আসল আক্ষরিক নিউলাইনটি আটকে দিন।Rational
গল্ফস্ক্রিপ্টের অন্যতম প্রধান ত্রুটিগুলির মধ্যে নির্বিচারে নির্ভুলতা ভাসমান পয়েন্টের জন্য রুবির গুলি ব্যবহার করা।- প্রকারকে অন্য ধরণের রূপান্তর করার ক্ষমতা। উদাহরণস্বরূপ, আপনি একটি ব্লকে একটি স্ট্রিতে রূপান্তর করতে পারেন।
- নিয়মিত অভিব্যক্তি. সম্ভবত সঙ্গে তৈরি
"..."
। অপারেটরগুলি তাদের জন্যও ওভারলোড হবে। উদাহরণস্বরূপ"\W"~{`Invalid: non-word character`}{`OK`}if
,। ব্লকের মতো চলক থেকে চাপলে স্বয়ংক্রিয়ভাবে কার্যকর হবে। - ফাইল এবং তারিখের অবজেক্টস, এমন আরও বেশি জিনিসগুলি করতে যা গল্ফস্ক্রিপ্টে অসম্ভব ছিল। এগুলির অক্ষরে অক্ষর থাকবে না, তবে সেগুলি সূচনা করার জন্য ফাংশন থাকবে যেমন
`file.txt`fl
(ফাইল তৈরির ফাংশনের নাম পরিবর্তন হতে পারে)। - হ্যাশ হতে পারে, তবে আমি এটির বিষয়ে নিশ্চিত নই। আমি কি?
- আরও কিছু করতে সহায়ক ফাংশন। উদাহরণস্বরূপ,
`http://example.com`net
নেটওয়ার্ক অ্যাক্সেসের জন্য (আবার,net
অপারেটরের নাম পরিবর্তন করা যেতে পারে)।rb
রুবি কোড হিসাবে একটি স্ট্রিং কার্যকর করতে। এর মধ্যে আরও অনেক কিছু থাকবে; পরামর্শ স্বাগত। - কোনও মন্তব্য নেই, যাতে এটি
#
অন্য কোনও কিছুর জন্য ব্যবহার করা যায়। আপনি যদি একটি মন্তব্য চান,`comment here`;
ভাল কাজ করবে। (সম্ভবত এটির কার্যকারিতা#
প্রতিস্থাপন করতে পারে`
) - এটি সম্পূর্ণরূপে এমনভাবে পুনর্লিখন করা হবে যাতে ফাংশন যুক্ত করা আরও সহজ হবে। মূলত, কোডটি আরও পঠনযোগ্য হবে। (আপনি কি গল্ফস্ক্রিপ্ট উত্স দেখেছেন?
:/
) - এটি গিথুবে থাকবে যাতে এটির সাথে যৌথভাবে কাজ করা যায়। আমি এটি এমআইটি বা অন্য কিছুতে লাইসেন্স করব।
- কোনও চূড়ান্ত নিউলাইন নয়, সুতরাং প্রতারণামূলক কুইনের কাজ: পি
এবং আমি এগুলি আলাদা করে দিচ্ছি কারণ আমি মনে করি এগুলি সবচেয়ে কঠোর এবং সহায়ক পরিবর্তন (সম্ভবত ভাসমান পয়েন্ট যোগ করা ব্যতীত):
- এটি অন্তর্নির্মিত অনেক রুবি ফাংশন থাকবে। উদাহরণস্বরূপ,
shuffle
(যার সংক্ষিপ্তসার হতে পারেsf
) (পূর্বে 9 টি অক্ষর নেওয়া হয়েছিল ),tr
(পূর্বে 14 অক্ষর ),sample
(sm
, পূর্বে.,rand=
),flatten
(fl
, পূর্বে ???), ইত্যাদি - এটি রেবেমুর মতো ছাঁটাই করা হবে। উদাহরণস্বরূপ, এখন আপনি (বাছাই ফাংশন ওভাররাইট করা
~:a0<{0a-}aIF
) পরিবর্তে~:$0<{0$-}$if
( একটি বর্ণের পরিবর্তনশীল নাম ব্যবহার করে) করতে পারেন। (উদাহরণ এখান থেকে )। মনে রাখবেন যে এইভাবে, এটি কেস-সংবেদনশীল এবং সংখ্যা পরিবর্তনশীল নামে অনুমোদিত নয়। এটি আমার মতামত অনুসারে এটি একটি গল্ফ ভাষা: পি - এটি ডিবাগিং হবে। আমি অ্যারে ডিলিমিটর, উপাদান ডিলিমিটার, ইত্যাদি উল্লেখ করে একটি পতাকা সরবরাহ করার ক্ষমতা যুক্ত করব, প্রোগ্রাম চালানোর পরিবর্তে প্রতিটি টোকেন টোকেনাইজিং এবং আউটপুট আউট করে একবারে নির্দেশাবলীর মাধ্যমে পদক্ষেপ (যুক্তিসঙ্গত, ভাসমান বা int?), প্রভৃতি
সুতরাং, আমার প্রশ্ন: উন্নতির কী আছে? আমার কী যুক্ত করা উচিত বলে আপনি মনে করেন?
এর জন্য অন্য কোনও ধারণা, আমি কোডিং শুরু করার আগে?