آموزش برنامه نویسی با روبی (قسمت دوم) : انواع متد در Ruby

در ادامه ی مقاله برنامه نویسی روبی ، در این بخش قصد داریم ابتدا در مورد methods یا متد ها و سپس در مورد نحوه ی دریافت مستندات و توضیحات در روبی صحبت می کنیم.
انواع متد در روبی :
مثال هایی از بعضی متد های موجود در روبی را با هم به اختصار مرور می کنیم:
متد قدر مطلق
متد قدر مطلق کردن اعداد در روبی با این دستور است :
1 2 3 4 5 |
>> x=-120 => -120 >> x.abs => 120 >> |
متد reverse
متد reverse برای برعکس کردن اعدا یا رشته ها بکار می رود:
1 2 3 4 5 6 7 8 9 10 |
>> puts "Hello" Hello => nil >> "Hello".reverse => "olleH" >> x="456" => "456" >> x.reverse => "654" >> |
متد round
این متد برای گرد کردن اعداد اعشاری، طبق تعریف گر کردن اعداد اعشاری در ریاضی بکار گرفته می شود:
1 2 3 4 5 |
>> x = 435.768 => 435.768 >> x.round => 436 >> |
سایر متدهای مثل گرد کردن اعداد وجود دارد مثلا متد to_i برای گرد کردن اعداد اعشاری به اعدا صحیح است یعنی بعد از ممیز همه را بردار یا متد floor که همین کار را انجام می دهد. متد ceil هم مانند این دو متد است اما عدد را به سمت بالا گرد می کند.
1 2 3 4 5 6 7 8 9 10 11 |
>> x = 435.768 => 435.768 >> x.round => 436 >> x.to_i => 435 >> x.floor => 435 >> x.ceil => 436 >> |
متد capitalize
این متد برای بزرگ کردن حرف اول کلمات انگلیسی بکار می رود:
1 2 3 4 5 |
>> string1 = 'hello' => "hello" >> string1.capitalize => "Hello" >> |
متد downcase
این متد اعداد انگلیسی با حروف بزرگ را به حروف کوچک تبدیل می کند:
1 2 3 4 5 |
>> string2 = 'Hello World' => "Hello World" >> string2.downcase => "hello world" >> |
متد upcase
این متد همه ی حروف را به حروف بزرگ تبدیل می کند:
1 2 3 4 5 |
>> string3= 'hello world' => "hello world" >> string3.upcase => "HELLO WORLD" >> |
متد length
این متد طول متغیر را برای ما بر می گرداند:
1 2 3 4 5 |
>> string4 = 'Hello' => "Hello" >> string4.length => 5 >> |
اینکه از کجا بفهمیم یک متد یا کلاس در روبی چه کاری انجام می دهد. برای این کار دو روش وجود دارد:
۱- روش آنلاین(online): مراجعه به سایت زیر و رفتن به قسمت Documentation و اگر روی هر کلاس یا متدی کلیک کنید توضیحات را به شما نشان خواهد داد.
۲- روش آفلاین (offline): اینکه شما به اینترنت دسترسی نداشته باشید با استفاده از ترمینال و تایپ دستور زیر می توانید مستندات هر متد یا کلاس یا هر چیز دیگری راجع به روبی را دریافت کنید, ما اینجا می خواهیم بدانیم متد upcase چه کاری انجام می دهد دستور زیرا در ترمینال تایپ می کنیم و خروجی آن به صورت زیر خواهد بود:
1 |
parisa@parisa-N43SL:~$ ri upcase |
خروجی:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
= .upcase (from ruby core) === Implementation from String ------------------------------------------------------------------------------ str.upcase -> new_str str.upcase([options]) -> new_str ------------------------------------------------------------------------------ Returns a copy of str with all lowercase letters replaced with their uppercase counterparts. See String#downcase for meaning of options and use with different encodings. "hEllO".upcase #=> "HELLO" (from ruby core) === Implementation from Symbol ------------------------------------------------------------------------------ sym.upcase -> symbol sym.upcase([options]) -> symbol : |
خب با انواع متد در روبی آشنا شدیم. حال به معرفی انواع شی یا Object در روبی می پردازیم:
انواع object
در زبان روبی همه چی object یا همان شی است چونکه روبی یک زبان کاملا شی گرا است همین شی ها هستند که زبان روبی را تشکیل می دهند. فرض کنید که یک کلاسی داریم که تعدادی دانش آموز دارد هر کدام از این دانش آموز ها خود یک شی هستند یعنی نمونه هایی از کلاس هستند همچنین اگر دو دانش آموز بخواهند با هم گفت و گو کنند این گفت و گوی مابین آنها نیز خود یک شی است.
objects are instances of class.
Variables یا متغیرها
تعریف متغیر:
در زبان روبی برخلاف سایر زبان های دیگر که باید نوع و مقدار مشخص شود در اینجا تنها نام متغیر کافی است. متغیرها object نیستند و به ما اجازه می دهند که objectها را در روبی اسم گذاری کنیم. برای نام گذاری متغیرها در روبی سعی کنید از اسم کامل و بعد از علامت _ استفاده کنید چون علامت_ در خود روبی برای متغیرها رزرو شده است مانند مثال زیر که متغیر first_variable را تعریف کرده ایم:
1 2 3 4 5 |
parisa@parisa-N43SL:~$ irb --simple-prompt >> first_variable = 7 => 7 >> secone_variable=first_variable +9 => 16 |
در این قسمت به تعریف انواع داده و همچنین تعریف آنها به عنوان متغیر می پردازیم:
۱- اعداد صحیح یا integer
اعدا صحیح نوعی از اعداد هستند که جزء اعشاری ندارند و به صورت گسسته هستند مانند:
1 2 3 4 5 6 |
parisa@parisa-N43SL:~$ irb --simple-prompt >> x= 1 => 1 >> 1+1 => 2 >> |
دو نوع اعداد صحیح داریم اعدا bigname یا fixname.
۲- اعداد ممیزی
اعداد ممیزی نوعی عدد هستند که بخش اعشاری دارند:
1 2 3 4 |
>> 2.3 => 2.3 >> 2.3+5.4 => 7.7 |
۳- اعداد باینری
اعدادی هستند که از مبنای ده به دو برده شده اند در روبی این اعدا با ۰b شروع می شوند:
1 2 3 4 5 6 7 |
>> 0b10 => 2 >> 0b11 => 3 >> 0b111 => 7 >> |
متغیرهای بولین
متغیرهای بولین متغیرهایی هستند که تنها دو مقدار درست (true) یا غلط (false) را دریافت می کنند.
متغیرهای رشته ای String
رشته ها از به هم پیوستن چندین کاراکتر تشکیل می شوند و یک رشته می تواند شامل چند خط یا یک کلمه باشد:
1 2 3 4 |
>> puts "hello world" hello world => nil >> |
ثابت ها
ثابت ها نیز همانند متغیرها می توانند از نوع عدد صحیح, ممیز شناور یا رشته باشند با این تفاوت که متغیرها مقدارشان را می توان تغییر داد اما ثابت ها دیگر قابل تغییر نیستند برای تعریف ثابت ها در روبی به این صورت است که اول حروف یا کل حروف را به صورت بزرگ می نویسند:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
>> TEST = 87 => 87 >> TEST=675 (irb):47: warning: already initialized constant TEST (irb):46: warning: previous definition of TEST was here => 675 >> Test=87 => 87 >> Test=675 (irb):49: warning: already initialized constant Test (irb):48: warning: previous definition of Test was here => 675 >> |
در خروجی مشاهده می کنید که برای تغییر ثابت ها به مشکل برخورد اما در نهایت عوض کرد اما به یاد داشته باشید که مقدار دهی به ثابت ها دیگر قابل تغییر در طول برنامه نمی باشد.
سیمبل ها یا symbol
symbol ها نه متغیر هستند و نه string هستند بلکه آنها را به عنوان برچسب ها در نظر می گیرند و در هش ها پرکاربرد هستند در جلسات آینده کاربرد آنها را در هش ها خواهید دید و با این علامت نشان داده می شوند : مثل دستور زیر:
1 2 3 4 5 |
>> :test => :test >> :this_test => :this_test >> |
عملگر ها
همانطور که در ریاضی عملگر ها بسیار پرکاربرد هستند در برنامه نویسی نیز همین اهمیت را دارند شما اگر بخواهید روی متغیرها عملیاتی انجام بدهید قطعا به عملگر ها نیاز خواهید داشت عملگر های مهم در روبی جمع , تفریق, ضرب و تقسیم در روبی به ترتیب + , – , * , / هستند:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
>> a=5 => 5 >> b=3 => 3 >> a+b => 8 >> a-b => 2 >> a*b => 15 >> a/b => 1 >> |
در این مقاله به بررسی انواع متد و شی در روبی پرداختیم.
امیدوارم این جلسه هم برای دوستان مفید واقع شود.
ادامه: