В этом курсе мы будем использовать так называемые локальные переменные. ... Кроме локальных переменных Ruby поддерживает и другие их виды - глобальные переменные, переменные классов и экземпляров. ... Имена констант и классов должны начинаться с прописной латинской буквы (A-Z) и, аналогично переменным, продолжаются любой комбинацией латинских букв, цифр и символа подчеркивания. ... Переменные могут использоваться во всех выражениях Ruby аналогично соответствующим объектам: a = "Привет всем!" puts a . ...
#!/usr/bin/env ruby number = 342 puts "Исходное число равно #{number}" n1 = number/100 # число сотен n2 = (number/10)%10 # число десятков n3 = number%10 # число единиц answer = n1*100 + n3*10 + n2 puts "Результат #{answer}"
#!/usr/bin/env ruby a = [1, "cat", 3.14] # создание массива из трех элементов puts a puts a[0] # печать первого элемента массива puts a.type print a[0].type, "\t", a[1].type, "\t", a[2].type, "\n" a[2] = "dog" # изменение значения третьего элемента puts a print a[0].type, "\t", a[1].type, "\t", a[2].type, "\n"
usr/bin/env ruby # упаковываем массив Ruby puts \n\t Массивы magic = [1, 2] # обе метки наклеены на одну и ту же упаковку hocusPocus = magic # их значения совпадают print magic = ; p magic print hocusPocus = ; p hocusPocus puts изменяем содержимое массива hocusPocus # изменим содержимое упаковки с именем hocusPocus ...
#!/usr/bin/env ruby b = [23, -14, 45, 78, -2.5] s = 0 b.each {|i| s +=i} puts s puts "Еще разок..." s = 0 b.collect {|i| s +=i} puts s =begin a = ["a", "b", "c", "d"] p a.collect {|i| i+"!"} =end
... К их числу относятся и массивы - экземпляры класса Array . ... Удаление всех элементов массива . ... Удаление всех объектов nil из массива . ... Рассмотрим следующий пример, комментируя действия с переменными в терминах наклеек : # упаковываем массив Ruby puts \n\t Массивы magic = [1, 2] # обе метки наклеены на одну и ту же упаковку hocusPocus = magic # их значения совпадают print magic = ; p magic print hocusPocus = ; p hocusPocus puts изменяем содержимое массива ...
Для ввода данных с клавиатуры можно использовать метод gets , который помещает в строку все вводимые символы. ... Выше уже описывался метод chop , позволяющий удалить последний символ строки (либо два последних символа, если они есть \r\n ). print "Введите ваше имя: " a=gets print a, ", привет!\n" b=a.chop print b, ", привет!\n" Как видите, символ перевода на новую строку удален. ... Изменим программу, добавив в нее метод chop! : print "Введите ваше имя: " a=gets.chop! print "Привет ", a, "! ...
Методы, наряду с переменными и операторами, являются основными строительными блоками в Ruby. ... Изменим метод так, чтобы он мог печатать любой текст: def saySomething(text) puts text end saySomething("Hello, World!" Мы добавили параметр text в наш метод. ... Приведем фрагмент программы для иллюстрации этого факта: def saySomething(text = 'Hello, World!') puts text end x = saySomething puts x puts x = 23 puts x += 1 Обратите внимание, что значение, возвращаемое методом saySomething , есть nil . ...
usr/bin/env ruby def helloWorld puts Hello , World! end helloWorld puts ==== Определение метода с параметром def saySomething (text = ' Hello , World!') puts text end saySomething saySomething () saySomething Пробел между именем метода и аргументами saySomething ( или использование скобок ) puts ==== Параметры ...
... Ruby поддерживает все стандартные логические операторы, а также дополнительный оператор defined? ... Определение метода оценки величины выражения def howBigPrint(i) if i Общая форма оператора if такова: if <логическое_выражение> [then] тело_оператора elsif <логическое_выражение> [then] тело_оператора ... else тело_оператора end Здесь <логическое_выражение> может быть любым фрагментом кода на языке Ruby, результатом вычисления которого является логическая величина (с учетом сказанного выше). ...
Для задания повторяющихся действий в большинстве языков программирования используются операторы цикла. ... Его общий вид таков: while <выражение> [do] ... тело цикла ... end . ... Обратите внимание, что условие окончания одного оператора цикла является отрицанием условия другого оператора. i=1 while i 5 puts i; i += 1 end . ... Начинает выполнение цикла с самого начала Рассмотрим на примере итератора for действие указанных конструкций. for i in 1 .. 5 print i break if i == 3 print "*" end . ...
usr/bin/env ruby include Enumerable puts Math.sqrt(2); puts Math::PI # или include Math puts sqrt(2); puts PI # получить квадраты целых чисел от 1 до 4 a1 = (1..4). collect {|i| i*i } # тоже самое a2 = (1..4).map {|i| i*i } p a1, a2 # выдать четыре раза строку cat b = (1..4). collect { cat } p b # найти первое вхождение числа , # которое делится и на 5 и на 7 # поиск среди ...
Язык Ruby поставляется с большой и полезной библиотекой модулей и классов. ... В этом разделе нас будет интересовать применение библиотечных модулей и классов. ... В случае, когда приходится использовать методы одного модуля несколько раз, удобнее подключить нужный модуль при помощи оператора include , что позволит использовать вызов метода без указания имени модуля: puts Math.sqrt(2); puts Math::PI # или include Math puts sqrt(2); puts PI . ... cos(x), sin(x) . ...
Math # составили список чисел от -PI до PI с шагом PI/12 a = (-12 .. 12).map {|i| i.to_s + *PI/12 } # печать заголовка print Угол\t Синус\t Косинус\t Тангенс\t Котангенс\n for i in a.reverse # для печати в убывающем порядке x = eval i printf %4s\t% 9.4f \t% 9.4f \t , eval (i + *(15*12/PI) ).round, # радианы - gt; градусы sin (x), cos (x) if cos (x). abs 0.0001 then ...