همونطور که توی پست قبلیم گفتم، دارم برنامهنویسی Ruby یاد میگیرم فقط از روی کنجکاوی و قدرت انجام مقایسه درست بین زبانهای برنامهنوسی مختلف.
خب برای شروع می ریم ببینیم ویکیپدیا در موردش چی گفته:
- روبی یک زبان برنامهنویسی انعطافپذیر، پویا و شیگرا است. (درست مثل PHP و Python)
- روبی شیوههای نگارشی پرل و اسمالتاک را با هم در خود دارد.(خب با هیچ کدوم از اینا کار نکردم)
- زبان روبی در سالهای میانی دهه ۱۹۹۰ توسط یوکیهیرو ماتسوموتو در ژاپن اختراع شد
- از برنامهنوسی تابعی و شیگرا پشتیبانی میکند. (مثل همون دوتایی که بالا گفتم)
- روبی یک زبان برنامهنوسی تفسیری است. (یعنی کامپایل نمیشه و در هنگام اجرا توسط مفسر تفسیر میشه
خب توضیحات خوبی بود و آدم میدونه که با چی سر و کار داره. حالا میریم سراغ اولیت تکه کد که معمولا مثال Hello World بهترین گزینهست.
print "hello world"
یا
puts "hello world"
خب بیاییم همین دو خط بالا رو تفسیر کنیم:
– برای چاپ رشته و یا هرچیزی در خروجی میتونیم از توابع print یا puts استفاده کنیم. هر جفتشون کارشون یکیه ولی تنها فرقشون اینه که puts مقدارش رو توی یم خط جدید چاپ میکنه.
– همونطور که مشاهده کردید، مانند python، برای پایان خط لازم نیست ما semicolon بذاریم.
– رشته را در میان دو ” ” قرار میدیم که این مورد تو اکثر زبانهای برنامهنویسی مشترکه.
انواع دادهای در Ruby، مثل بقیه زبانهای برنامهنویسیه و تفاوت خاصی نداره با بقیه و از همه چی پشتیبانی میکنه.
تعریف متغیرها توی روبی قوانین خاصی داره مثلا متغیرها باید به صورت lowercase تعریف بشن و اگه نام متغیر بیشتر از یه بخش بود با _ از همه جدا بشن بخشها. یعنی نام متغیر باید snake_case باشه. همچنین نوع متغیر به صورت داینامیک بسته به مقدارش تغییر میکنه. مثال زیر را ببینید:
my_variable = 100 #int my_variable = "morteza" #string user_name = "morilog" #string
همونطور که توی کد دیدید، متغیر my_variable ابتدا دارای مقدار 100 بود که نوعش میشه عدد صحیح و بعدش همون متغیر نوعش به string تغییر پیدا کرد. انواه آرایه هم به صورت زیر تعریف میشه:
my_array = [1, 2 ,3 4 ,5] #آرایه یک بعدی از اعداد my_array = [["morteza", "parvini", 24], ["php", "python", "ruby"]] #آرایه چندبعدی
برای کامنتگذاری در کد به صورت یکخطی از # استفاده میکنیم. (تو کد بالا نمونهش هست) و برای کامنتگذاری چندخطی به روش زیر عمل میکنیم:
=begin اینجا یه سری کامنت قرار میگیره تو این خط هم شاید یه چیزایی نوشته بشه همینطور تو این خط =end
برای چاپ مقدار یک متغیر داخل یک رشته به این روش عمل میکنیم:
my_name = "morteza" puts "my name is #{myname}" #خروجی: my name is morteza
فقط کافیه که نام متغیر را بین #{} قرار بدیم و تمام.
فکر میکنم تا همینجا بسه واسه مقدماتش. تو پستهای بعدی در مورد ساختارهای کنترلی و شرطی صحبت خواهم کرد.