1 | 2 | 3 | 4

Ruby в 20 минути

Въведение

Това е малко ръководство, което ще Ви отнеме не повече от 20 минути. Приемаме, че вече сте свалили и инсталирали Ruby. Ако това не е така, можете да го направите в страницата за инсталиране.

Интерактивна работа с Ruby

Ruby пристига с програмка, наречена IRB ( Interactive Ruby ), която Ви дава възможност да въвеждате и тествате Ruby код интерактивно. По този начин можете да се запознаете с основите на езика, без да пишете, запаметявате и стартирате кода си във/от файл всеки път.

Стартирайте IRB в зависимост от операционната система, която ползвате:

  • Ако ползвате macOS, отворете Terminal и напишете irb.
  • Ако ползвате Linux, отворете shell и напишете irb.
  • Ако ползвате Windows, отвoрете Interactive Ruby от секцията Ruby в Start Menu.
irb(main):001:0>

Напишете : "Hello World"

irb(main):001:0> "Hello World"
=> "Hello World"

Ruby току що ви се подчини !

Какво се случи ? Да не би да написахме най-кратката “Hello World” програма ? Не точно. Вторият ред е просто начин за показване на резултата от последната “команда”, въведена в IRB. Ако искаме наистина да отпечатаме “Hello World”, това може да стане така:

irb(main):002:0> puts "Hello World"
Hello World
=> nil

puts е метод, който позволява да отпечатате израз/текст/низ в Ruby. А какво тогава означава => nil? Това е резултата от изпълнения израз. puts винаги връща nil.

Вашият безплатен калкулатор

Лесно е да превърнем IRB в прост калкулатор:

irb(main):003:0> 3+2
=> 5

Дотук добре, нека пробваме умножение и вдигане на квадрат:

irb(main):004:0> 3*2
=> 6
irb(main):005:0> 3**2
=> 9

В Ruby метода ** е начин да повдигаме на степен. Следва пример с намиране на корен:

irb(main):006:0> Math.sqrt(9)
=> 3.0

Резултатът е верен, но какво значи Math.sqrt ? И по-точно, какво значи Math?

Модули и код, групиран по значение

Math е вграден модул за извършване на математически операции. Модулите в Ruby изпълняват две роли. Предният пример показва първата: групиране на подобни методи чрез общо име. Math също така съдържа методи като sin() и tan().

Следва точка. Тя обозначава приемника на съобщението. И от тук следва въпроса “Какво е съобщение ?”. В този случай съобщението е sqrt(9), което вика метода sqrt с параметър 9.

Резултатът от извикването на този метод е 3.0. Можете да забележите появата на десетична запетая. Това е така, защото в повечето случаи числото, върху което изпълняваме метода за намиране на корен, не е цяло, а реално.

Изниква въпроса “как да процедираме за да запазим резултатът от операциите ?” . Отговора се крие в присвояването му в променлива.

irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b)
=> 5.0

Леснотата на писане на калкулатора ни отклони от кода в началото – изписването на “Hello World”. За това, нека прехвърлим отново фокуса си там