Интерполяция строк
Часть раздела Логика и управление потоком путешествия по Ruby на Coddy — урок 2 из 56.
Ruby позволяет встраивать переменные и выражения непосредственно в строку в двойных кавычках с помощью #{...}. Это называется интерполяцией строк.
name = "Sam"
age = 30
puts "#{name} is #{age} years old." # Sam 30 лет.Выражение внутри #{...} может быть чем угодно, что вычисляет Ruby:
price = 19.5
puts "Total: $#{price * 1.2}" # Итого: $23.4Интерполяция работает только в строках с двойными кавычками. Одинарные кавычки воспринимают #{...} как обычный текст.
x = 5
puts "x is #{x}" # x равен 5
puts 'x is #{x}' # x — это #{x}Задание
НовичокПрочитайте имя и возраст (две строки ввода). Выведите одну строку в формате:
Hello, <name>! In 5 years you will be <age+5>.Для ввода Alice и затем 30, результатом будет:
Hello, Alice! In 5 years you will be 35.Шпаргалка
Интерполяция строк встраивает переменные/выражения в строки в двойных кавычках с помощью #{...}:
name = "Sam"
age = 30
puts "#{name} is #{age} years old." # Sam is 30 years old.
puts "Total: $#{19.5 * 1.2}" # Total: $23.4Одинарные кавычки воспринимают #{...} как обычный текст — интерполяция работает только с двойными кавычками.
Попробуйте сами
name = gets.chomp
age = gets.to_i
# TODO: используйте интерполяцию строк для вывода сообщения
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Строки в деталях
Обзор методов строкИнтерполяция строкИтерация по строкамSplit и JoinИтоги — String Weaver4Блоки, Proc и лямбды
Что такое блок?do..end против фигурных скобокКлючевое слово yieldПараметры блокаProc и лямбдыИтоги: пользовательский итератор7Хеши. Часть 2
Hash.new со значениями по умолчаниюИтерация по хешамВложенные хешиСлияние и преобразованиеИтоги — счетчик частоты10Проект — Учёт студентов
Обзор проектаДобавить студента2Диапазоны
Что такое диапазон?Методы диапазоновДиапазоны в Case / WhenПовторение — практика по диапазонам5Мощь Enumerable
Select и RejectЦепочки MapReduce / Injectcount, all?, any?, none?group_by и partitionsort_by, min_by, max_byИтоги — Data Pipeline8Продвинутые условные конструкции
Case с классами и RegexМножественные значения в whenТернарный операторОднострочные if / unlessПовторение: Классификатор оценок