В начале этого упражнение Зед немного комментирует предыдущее.
Далее говорится, что "\" (обратный слеш) в данном случае служит для того, чтобы использовать труднопечатные символы в строке. Есть очень много таких "эскейп-последовательностей", которые доступны разным символам, которые мы хотим употребить, но есть одна специальная последовательность. Это двойной бэкслеш, который представляет просто отакэ: "\\". Эти два символа просто выведут один бэкслеш. Мы посмотрим несколько последовательностей, чтобы было понятно о чем речь.
Также еще одним важным моментом является эскейп-последовательность, которая служит для того, чтобы экранировать одинарные кавычки ' или двойные "". Представим, что у нас есть строка, заключенная в двойные кавычки, а также нам надо в строке употребить двойные кавычки для вывода на экран. Если мы выполним вот такой код: "I "understand" Joe" - интерпретатор Ruby замешкается. Он будет думать, что " вокруг "understand" заканчивает строку. Нам нужно что-то, что скажет интерпретатору Ruby, что " внутри строки не настоящие двойные кавычки.
Для решения этой проблемы мы экранируем двойные и одинарные кавычки таким образом, что интерпретатор Ruby знает, что их надо включить для вывода.
Второй способ - это использование синтаксиса документа, который использует <<NAME и работает как строка. Кроме того, сюда можно запихнуть сколько угодно строк, пока снова не напечатаем NAME. Мы с этим еще немного поиграем))
Прога:
WYSS
EC
1. Escape sequences
Наиболее часто встречающиеся в строках:
2. Вот использование формат-стрингов и эскейп-последовательностей)
name = "Helen"
aim = "Ruby"
future = "harmony"
puts "My name is %s." %name
puts "My aims are learning %s very well and %s." %[aim, future]
puts "Learning programming gives me:"
ruby = <<MY_AIM
\t* happiness
\t* creation
\t* communication
\t* money for future house with pool
MY_AIM
print ruby
puts "I love the hole world!"
Далее говорится, что "\" (обратный слеш) в данном случае служит для того, чтобы использовать труднопечатные символы в строке. Есть очень много таких "эскейп-последовательностей", которые доступны разным символам, которые мы хотим употребить, но есть одна специальная последовательность. Это двойной бэкслеш, который представляет просто отакэ: "\\". Эти два символа просто выведут один бэкслеш. Мы посмотрим несколько последовательностей, чтобы было понятно о чем речь.
Также еще одним важным моментом является эскейп-последовательность, которая служит для того, чтобы экранировать одинарные кавычки ' или двойные "". Представим, что у нас есть строка, заключенная в двойные кавычки, а также нам надо в строке употребить двойные кавычки для вывода на экран. Если мы выполним вот такой код: "I "understand" Joe" - интерпретатор Ruby замешкается. Он будет думать, что " вокруг "understand" заканчивает строку. Нам нужно что-то, что скажет интерпретатору Ruby, что " внутри строки не настоящие двойные кавычки.
Для решения этой проблемы мы экранируем двойные и одинарные кавычки таким образом, что интерпретатор Ruby знает, что их надо включить для вывода.
Второй способ - это использование синтаксиса документа, который использует <<NAME и работает как строка. Кроме того, сюда можно запихнуть сколько угодно строк, пока снова не напечатаем NAME. Мы с этим еще немного поиграем))
Прога:
WYSS
EC
1. Escape sequences
Наиболее часто встречающиеся в строках:
- \" – double quote - двойные кавычки
- \\ – single backslash - один бэкслеш
- \a – bell/alert - со звуком выдаст надпись. Надо с двух сторон поставить. Отак: "\aHello world\a".
- \b – backspace - будет "съедать" по одному символу. Сколько \b поставить, столько символов "съест".
- \r – carriage return - все, что до этого символа, не будет выводиться.
- \n – newline - перепрыгнет на новую линию.
- \s – space - пустое место.
- \t – tab - поставит табуляцию.
2. Вот использование формат-стрингов и эскейп-последовательностей)
name = "Helen"
aim = "Ruby"
future = "harmony"
puts "My name is %s." %name
puts "My aims are learning %s very well and %s." %[aim, future]
puts "Learning programming gives me:"
ruby = <<MY_AIM
\t* happiness
\t* creation
\t* communication
\t* money for future house with pool
MY_AIM
print ruby
puts "I love the hole world!"
Комментариев нет:
Отправить комментарий