কোবরা প্রোগ্রামিং ভাষা 'র সিনট্যাক্স প্রচন্ডভাবে পাইথন এর দ্বারা অনুপ্রাণিত, এবং এটি, কোলন সঙ্গে দূরে আছে তাই মনে হয় এটি কঠোরভাবে প্রয়োজন নেই। তবে কেবল কোলন অপসারণ করা যথেষ্ট নয় , সিনট্যাক্সের অন্যান্য পরিবর্তনও প্রয়োজন। দেখুন, উদাহরণস্বরূপ আমার কোনও খেলনা প্রকল্পের কোডের এই অংশটি :
kons = lambda hd, tl: lambda x: hd if x else tl
virst = lambda l: l(True )
rrest = lambda l: l(False)
পরামিতি তালিকা থেকে দেহকে আলাদা করতে কোলন না থাকলে আমাকে ইনডেন্টেশন ব্যবহার করতে হবে:
kons = lambda hd, tl
lambda x
hd if x else tl
virst = lambda l
l(True )
rrest = lambda l
l(False)
আমি বিশ্বাস করি কোবারার পূর্ববর্তী সংস্করণগুলি কোলনকে alচ্ছিক করে তুলেছে, আপনি ইনডেন্টেশন বা কোলন বা উভয়ই ব্যবহার করতে পারেন। এটি রুবিতে কীভাবে কাজ করে তার অনুরূপ, যেখানে কন্ট্রোল এক্সপ্রেশনগুলির বিভিন্ন অংশ আলাদা করার জন্য কীওয়ার্ড রয়েছে তবে আপনি এক্সপ্রেশন বিভাজক (সেমিকোলন বা নিউলাইন) ব্যবহার করতে পারেন:
# idiomatic
while true do puts "I am awesome" end
# ↑↑
# non-idiomatic, but legal
while true; puts "I am awesome" end
# ↑
# non-idiomatic, but legal
while true
puts "I am awesome" end
# idiomatic
while true
puts "I am awesome"
end
কোবারার বর্তমান সংস্করণগুলিতে আপনি কমা ব্যবহার করতে পারেন:
if x
y
হিসাবে লেখা যেতে পারে
if x, y
আপনি প্রয়োজন কিছু নিয়ন্ত্রণ এক্সপ্রেশন বা সংজ্ঞা বিভিন্ন স্থানে পৃথক প্রণালী। পাইথনে, এটি হ'ল কোলন। আপনি যদি কোলনটি সরিয়ে ফেলেন তবে আপনাকে এটিকে অন্য কোনও কিছু দিয়ে প্রতিস্থাপন করতে হবে, যেমন জোরপূর্বক ইনডেন্টেশন। কেবল কোলন অপসারণ কাজ করবে না।
একেবারে নিশ্চিত হওয়ার একমাত্র উপায় হ'ল কোলন দিয়ে এবং ছাড়াই সিনট্যাক্সকে আনুষ্ঠানিক করা এবং এর অ-অস্পষ্টতা প্রমাণ করা।
দ্রষ্টব্য, তবে পাইথনের জেনের অন্যতম একটি অ্যাফর্মিজম হ'ল "স্পষ্টকৃতের চেয়ে ভাল ভাল বর্ণিত", সুতরাং কলোনগুলির সাথে ব্লকগুলির স্পষ্টরূপে বর্ণিত চিত্রটি পাইথনের সাধারণ দর্শনের সাথে খাপ খায়। ডিজাইন এবং ইতিহাস প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী এছাড়াও উল্লেখ করেছেন যে এই সিদ্ধান্ত পাইথন এর পূর্বসুরী, এবিসি থেকে গবেষণামূলক প্রমাণ উপর ভিত্তি করে।