Здравствуйте!
По большей части создаю это для себя, но если кому-то пригодится попрактиковаться в Ruby с самого начала, то welcome =)
По мере своего продвижения обучения буду пополнять конспект новыми знаниями, поэтому не судите строго.
По сути, это просто краткий конспект, в который я записываю все, что хочу запомнить или сложно запоминается, плюсом ко всему записывать и придумывать себе задания для практики.
Все материалы для конспекта взяты с rubyschool.us
Интерполяция строк
#{} - считает/берет значение из выражения/переменной, используются только двойные кавычки, с одинарными работать не будет
внутри так же можно использовать преобразование переменной или другие методы
x = 5
puts "x = {x}"
=>
x = 5
x = 5
puts "x = {x.to_f}"
=>
x = 5.0
x = 4
y = 5
puts "Summ: #{x.to_i + y.to_i}"
=>
Summ: 9
Для Windows русская кодировка для консоли, написать в начале файла программы следующее:
# encoding: cp866
.strip - метод удаления лишних пробелов и спецсимволов в переменной.
.chomp удаляет только символ новой строки, .strip удаляет лишние пробелы и спецсимволы, такие как новая строка (\n)
Документация по типу данных "string":
http://www.ruby-doc.org/core-2.1.1/String.html
Документация по типу данных "integer":
http://www.ruby-doc.org/core-2.1.1/Integer.html
Оператор times:
n.times {|i| блок кода}
<=>
n.times do |i|
блок кода
end
"i" - в данном случае это индекс, который начинается с 0. Значение параметра "i" берется, от того, который раз выполняется блок кода.
Оператор .times выполнит операцию от 0 до (n-1) раз
10.times {|i| puts i}
=>
0
1
2
..
9
Практика:
1) Напишите программу, которая спрашивает использовать интерполяцию строк:
Enter x(string):
Enter y(integer):
Enter z(float):
и вывод в одну строку:
x = ... y = ... z = ...
2) Сделать русский вариант программы выше
3)Напишите программу, которая выводит строку STR Х-раз в строку
(есть нюанс: строку можно умножать на число, число на строку не умножить)
Enter X:
Enter string:
puts ...
4) Написать программу, которая будет выводить числа от 0 до 50:
i = 0, четное: true
i = 1, четное: false
i = 2, четное: true
(проверку на четность можно посмотреть в документации)