Найти тему

Практика Ruby №4(интерполяция, .strip, оператор times)

Оглавление

Здравствуйте!

По большей части создаю это для себя, но если кому-то пригодится попрактиковаться в 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
(проверку на четность можно посмотреть в
документации)