Ruby Синтаксис

Давайте напишем простую программу на Ruby. Все расширения файлов Ruby —.rb. Итак, поместите следующий исходный код в файл test.rb.

Примеры

#!/usr/bin/ruby -w puts "Hello, Ruby!";

Запустить пример »

Здесь предполагается, что у вас есть рабочий интерпретатор Ruby в каталоге /usr/bin. Теперь попробуйте запустить эту программу, как показано ниже:

$ ruby test.rb

Это даст следующий результат:

Hello, Ruby!

Вы увидели простую программу на Ruby, теперь давайте рассмотрим некоторые базовые концепции, связанные с синтаксисом Ruby:

Пробельные символы в программах на Ruby

Пробельные символы в коде Ruby, такие как пробелы и табуляции, обычно игнорируются, если только они не находятся в строках. Однако иногда они используются для интерпретации неоднозначных инструкций. Когда включена опция -w, такие интерпретации могут генерировать предупреждения.

Примеры:

a + b 被解释为 a+b (这是一个局部变量)
a  +b 被解释为 a(+b) (这是一个方法调用)

Окончания строк в программах на Ruby

Ruby интерпретирует точки с запятой и символы новой строки как конец инструкций. Однако если Ruby встречает оператор в конце строки, например +, - или обратную косую черту, они указывают на продолжение инструкции.

Идентификаторы Ruby

Идентификаторы — это имена переменных, констант и методов. Идентификаторы Ruby чувствительны к регистру. Это означает, что Ram и RAM — два разных идентификатора в Ruby.

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

Зарезервированные слова

В следующей таблице перечислены зарезервированные слова в Ruby. Эти зарезервированные слова нельзя использовать в качестве имен констант или переменных. Однако их можно использовать как имена методов.

BEGINdoДалеезатем
ENDelsenilистина
aliaselsifnotundef
иendилиunless
beginensureredountil
breakfalserescueкогда
caseforretrywhile
классifreturnyield
definself__FILE__
defined?modulesuper__LINE__

Here-документ в Ruby

"Here Document" (here-документ) означает создание многострочных строк. После << можно указать строку или идентификатор для завершения строки, и все строки после текущей до терминатора являются значением строки.

Если терминатор заключён в кавычки, тип кавычек определяет тип построчной строки. Обратите внимание, что между << и терминатором не должно быть пробела.

Вот различные примеры:

Примеры

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- print <<EOFЭто первый способ создатьhere -документ.\n многострочная строка.EOF print <<"EOF"; #То же, что и вышеЭто второй способ создатьhere document.\n многострочная строка.EOF print <<`EOC` #Выполните команду echo hi there echo lo there EOC print <<"foo", <<"bar" #Вы можете складывать их I сказал foo. foo I сказал bar. bar

Это даст следующий результат:

这是第一种方式创建here document 。
多行字符串。
这是第二种方式创建here document 。
多行字符串。
hi there
lo there
I said foo.
I said bar.

Ruby BEGIN— Оператор

Синтаксис

BEGIN {
   code
}

Объявление:кодбудет вызван до запуска программы.

Примеры

#!/usr/bin/ruby puts "Это основная программа на Ruby" BEGIN { puts "Инициализация программы на Ruby" }

Это даст следующий результат:

初始化 Ruby 程序
这是主 Ruby 程序

Ruby END— Оператор

Синтаксис

END {
   code
}

Объявление:кодбудет вызван в конце программы.

Примеры

#!/usr/bin/ruby puts "Это основная программа на Ruby" END { puts "Остановка программы на Ruby" } BEGIN { puts "Инициализация программы на Ruby" }

Это даст следующий результат:

初始化 Ruby 程序
这是主 Ruby 程序
停止 Ruby 程序

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

Комментарии скрывают от интерпретатора Ruby строку, часть строки или несколько строк. Вы можете использовать символ ( # ) в начале строки:

#Я комментарий, пожалуйста, проигнорируйте меня.

Или комментарии могут следовать за оператором или выражением в той же строке после него:

name = "Madisetti" #Это тоже комментарий

Вы можете закомментировать несколько строк, как показано ниже:

#Это комментарий. #Это тоже комментарий. #Это тоже комментарий. #Это всё ещё комментарий.

Вот другая форма. Этот блочный комментарий скрывает строки между =begin/=end от интерпретатора:

=beginЭто комментарий.\nЭто тоже комментарий.\nЭто тоже комментарий.\nЭто всё ещё комментарий.=end
Другие расширения