Лексическая структура языка Ruby

by moiseevrus

Лексика Ruby

Приветствую, дорогие читатели! Сегодня поговорим о лексике Ruby.

Компьютерные языки, как и человеческие языки, имеют лексическую структуру. Исходный код программы Ruby состоит из токенов. Токены – это элементы атомарного кода. В языке Ruby мы имеем различные лексические структуры, такие как комментарии, переменные, литералы, пробелы, операторы, разделители и ключевые слова.

Комментарии в Ruby

Комментарии используются людьми для уточнения исходного кода. В Ruby есть два типа комментариев. Однострочные и многострочные комментарии. Однострочные комментарии начинаются с символа#. Многострочные комментарии помещаются между токенами =begin и =end.

#!/usr/bin/ruby

=begin
comments.rb
author Jan Bodnar
ZetCode 2011
=end

# prints message to the terminal
puts “Comments example”

Пример, показывающий оба типа комментариев. Комментарии игнорируются интерпретатором Ruby.

=begin
comments.rb
author Jan Bodnar
ZetCode 2014
=end
Это пример многострочного комментария. Два маркера должны начинаться в начале строки.

Ruby white space

Пробел в Ruby используется для разделения маркеров и завершения операторов в исходном файле. Он также используется для улучшения читаемости исходного кода.
if true then
puts “A message”
end

В некоторых местах требуются пробелы. Например, если ключевое слово и ключевое слово True. Или между методом и фактической строки.

В других местах это запрещено. Он не может присутствовать в идентификаторах переменных или ключевых словах языка.

a=1
b = 2
c = 3

Объем пространства между токенами не имеет значения для интерпретатора Ruby. Тем не менее, важно иметь один стиль на протяжении всего проекта.
#!/usr/bin/ruby

x = 5 + 3
puts x

x = 5
+ 3
puts x

x = 5 +
3
puts x

Новая строка, форма пробела, может использоваться для завершения операторов.

x = 5 + 3

В первом случае у нас есть одно утверждение. Сумма сложения присваивается переменной X. Переменная содержит 8.
x = 5
+ 3
Итак, есть два утверждения. Первый оператор завершается новой строкой. Переменная x равна 5. Есть еще одно утверждение, +3, которое не имеет никакого эффекта.
x = 5 +
3
$ ./whitespace.rb
8
5
8
Получаем вот такой вывод значений.

Переменные в Ruby

Переменная-это идентификатор, который содержит значение. В программировании мы говорим, что присваиваем значение переменной. Технически говоря, переменная-это ссылка на память компьютера, где хранится значение. В Ruby переменная может содержать строку, число или различные объекты. Переменным могут быть присвоены различные значения с течением времени.

Имена переменных в Ruby создаются из буквенно-цифровых символов и символа подчеркивания ( _ ). Переменная не может начинаться с числа. Интерпретатор может легче различать литеральное число и переменную. Имена переменных не могут начинаться с заглавной буквы. Если идентификатор начинается с заглавной буквы, он считается константой в Ruby.

Value
value2
company_name

Это допустимые имена переменных.

12Val
exx$
first-name
Это пример недопустимых имен переменных.
Имена переменных могут предваряться двумя специальными символами: $ и @. Они используются для создания определенной области переменных.

Переменные чувствительны к регистру. Это означает, что price и pRice-это два разных идентификатора.
#!/usr/bin/ruby

number = 10
numBER = 11

puts number, numBER

В нашем скрипте мы присваиваем два числовых значения двум идентификаторам. В нашем примере number и numBER это две разных переменных.
$ ./case.rb
10
11
Вот что нам выведет этот скрипт.

Константы Ruby

Константы-это держатели значений, которые удерживают только одно значение с течением времени. Идентификатор с первой заглавной буквой является константой в Ruby. В программировании принято писать все символы константы в верхнем регистре.

В отличие от других языков, Ruby не принуждает константы иметь только одно значение с течением времени. Интерпретатор выдает предупреждение только в том случае, если мы присваиваем новое значение существующей константе.
#!/usr/bin/ruby

Name = “Robert”
AGE = 23

Name = “Juliet”

На сегодня все!

You may also like

Leave a Comment