Webmaster общности: Predpriemach.com | SearchEngines.bg
    web-tourist15/02/20205min00

    Да научим Ruby за 15 минути.

    Автор: index

    Все повече и повече започва да се говори за Ruby on Rails което е Framework за изграждане на web сайтове за езика : Ruby{wikipedia}{сайт на създателя}
    Няма да навлизам в информация какъв е , що е , кога и от кой е създаден. Смятам ,че ако прегледате wiki-то , ще намерите достатъчно любопитна информация. Идеята на този „урок“ е да се запознаем със Ruby или поне в основите на програмирането в него.Това е превод на този урок.
    Реших да го преведа, защото има предостачно информация тук за ООП и програмиране.
    Да да започваме.
    Също така искам да спомена, че в повечето езици всеки ред на декларация или извеждане на резултат завършва с точка и запетая “ ; „, тук нещата завършват просто с ентър.

    Деклариране на „разни неща“
    При декларирането на разни неща в PHP , примерно, сме свикнали да имаме къдрави скоби, докато тук просто казваме,че имаме да декларираме нещо, и след това го „затваряме“ с вълшебната дума „end“
    Също така , няма преведа цялата статия НАРОЧНО.Смятам, че по-малко неща, по-начесто ще са по-добре.

    Променливи

    # Създаване на променливи
    num = 1 # задаване на стойност 1 на променлива "num"
    str = "Hello" # задаване на стринг на променливата "str" със съдържание "Hello"
    arr = [1, 2, 3] #създаване на масив с име на променливата "arr" и 3 стойности- 1, 2 и 3
    hash = { "key1" => "Стойност", "key2" => "Друга стойност" }
    # Създаване на масив със ключове ( key1 , key2 ) и стойности ( "Стойност" , "Друга стойност")
    
    # Четене на променливи
    num + 1 #Добавяне на "1" към num. референция към PHP ( $i ++ ; ) или ($i = $i +1 ; ) или ($i =+1;)
    puts str #Изкарване на стринга в конзолата
    arr[0] # Получаване на стойност от масива, който по-горе декларирахме.
    # arr[0] ще върне 1
    # arr[1] ще върне 2
    # arr[2] ще върне 3
    hash["key1"] # Вземане на стойност от масива с ключ "key1" = "Стойност"
    #hash["key2"] ще върне " Друга стойност"

    Условия
    Условията тук ми напомнят доста за Pascal и C#

    if условие then
    # нещо се случва
    elsif друго_условие then
    # нещо друго се случва
    else
    # още по-друго нещо
    end

    За сравняване на стойности се използват добре познатите неща :
    по-голямо, по-малко , равно
    Пример за променливата „a“ = 2 дали е равна на 1

    a = 2
    if a < 1 then
    puts " a is less from 1 "
    else
    puts " a is bigger from 1 "
    end

    Доста особено тук , е че нямаме условен оператор „не е равно “ ( != )
    Затова пък си има друго условие за него.
    Нека да разгледаме следният код:

    а =2
    unless a == 1 then
    puts "a is not == at 1 "
    end

    Цикъли
    While

    while Условие do
    #направа на нещо
    end

    Until
    неговата концепция е същата като unless, само че за цикъл

    a = 0
    until a == 5 do
    puts a
    a = a + 1
    end

    Тук ще имаме изход в конзолата

    # 0
    # 1
    # 2
    # 3
    # 4
    # 5

    FOR повече прилича на FOREACH

    a = [1,2,3]
    for item in a do
    puts item
    end
    # изкарване
    # 1
    # 2
    # 3

    For се използва за обхождане на някакъв тип масив.Примера е даден с извеждане на числата.

    И СЕГА ДАМИ И ГОСПОДА , същинският цикъл ! (ест , не женски 😀 😀 )

    10.times do |i|
    print i
    end
    # prints: "0123456789"

    Какво имаме тук ? Имаме един цикъл , който се върти 10 пъти , и променливата I получава тази стойност.

    Възходящ и Низходящ цикъл.
    За момента , не мога да се сетя да дам примери в другите езици , освен Pascal.

    ]5.upto(9) do |i|
    print i
    end
    # изкарва : "56789"
    # възходящ цикъл
    

    9.downto(5) do |i|

    print i
    end
    # изкарва : "98765"
    # низходящ цикъл

    Цикъл EACH , за обхождане на масиви. Той адски много си прилича с по-горният пример за FOR

    a = [1,2,3]
    a.each do |item|
    puts item
    end
    # изкарва:
    # 1
    # 2
    # 3

    Имаме даден масив, който се завърта в цикъл 3 пъти, като изпринтира резултатите. Всеки нов резултат се презаписва на стойността item

    Деклариране на клас и на метод. Тук ще се опитам да ги съчетая двете неща в един пример.След това ще дам пример за онаследявани, като ще смятам, че тази част от урока ще бъде завършена успешно.

    class CLASSNAME
    
    #създаване на конструктор за CLASSNAME
    def initialize
    puts "НОВА ИНСТАНЦИЯ ЗА CLASSNAME"
    # изкарване на текста по-горе при създаване на нова инстанция
    
    end
    # затваряме създаването на конструктора
    
    def my_function
    #
    # някакъв код
    end
    #този End затваря my_function.
    #
    # пример как става това в PHP
    # function my_function() { # някакъв код }
    #
    # приликите са доста очебийни мисля.
    
    end
    # Този end затваря класа CLASSNAME
    Пример за клас и изпълнение на метод от него, с изграждане на нова инстанция.// Звучи доста сложно , като замисли човек, но в крайна сметка, целият код е едва 5 реда :))))
    
    
    class Hello
    def say_hello
    puts "Hello"
    end
    end
    
    hello = Hello.new
    hello.say_hello # извеждане в конзолата "Hello"

    Изпълнение на метод без създаване на нова инстанция.

    class Hello
    def self.say_hello
    puts "Hello"
    end
    end
    
    Hello.say_hello

    В крайна сметка , това урока, не е кой-знае какво, но е някакво начало за всички който искат да научат нещо ново и актуално.

    Оставете коментар