if FILE == $0 — запуск скрипта и require
В Ruby ближайший аналог Python if __name__ == "__main__": — проверка if __FILE__ == $0.
| Переменная | Смысл |
|---|---|
__FILE__ | Путь к текущему файлу |
$0 | Имя скрипта, переданного интерпретатору (точка входа процесса) |
См. также: Первая программа · Python — разбор __name__.
Пример
# calculator.rb
def add(a, b)
a + b
end
if __FILE__ == $0
puts add(5, 3)
end
Прямой запуск:
ruby calculator.rb
# => 8
Подключение:
require_relative "calculator"
# демо не печатается
puts add(10, 20)
require и код верхнего уровня
require / require_relative выполняют файл один раз (кэш в $LOADED_FEATURES). Любой код вне блока if __FILE__ == $0 выполнится при первом require.
puts "Файл загружен" # выполнится при require
if __FILE__ == $0
puts "Запуск как скрипт"
end
Демо и CLI держат внутри проверки; константы и определения методов — снаружи.
Rails и гемы
В Rails точка входа — bin/rails, config.ru, а не if __FILE__ == $0 в каждой модели. В гемах исполняемые команды регистрируют в .gemspec (executables).
Для учебных .rb и утилит паттерн с $0 остаётся стандартом.
Сравнение с Python
| Python | Ruby |
|---|---|
__name__ == "__main__" | __FILE__ == $0 |
import module | require "module" |
Дальше по разделу
| Тема | Статья |
|---|---|
| IRB, первая программа | 20 — Первая программа |
| Модули и классы | 102 — ООП |
| Rails | 21 — Rails |
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Основы Ruby - синтаксис языка, блоки, идиомы и фундаментальные принципы выразительного программирования. Ruby — это динамически типизированный язык программирования общего назначения, который делает акцент на простоте написания кода, читаемости и продуктивности разработчика. Набор советов, правил, принципов и обычаев в разработке на этом языке. Язык поддерживает одиночное наследование, где класс может наследовать от одного родительского класса. Для указания наследования используется оператор <. Простые приложения на Ruby — консольные утилиты, файлы, JSON и минимальный HTTP без Rails. История языка Ruby - философия выразительности, эволюция синтаксиса и влияние на веб-разработку. Кавычки и интерполяция, символы, точка и вызов методов, запятая, точка с запятой, подчёркивания, побитовые и логические операторы в Ruby. Ключевые слова Ruby - синтаксические конструкции, приоритет операторов и нюансы семантики языка. Набор функций, которые включены в стандартную библиотеку языка. Типизация, набор правил определения типа данных значений языка. В идиоматическом Ruby конструкция for почти не используется — предпочтение отдаётся each. Исторический контекст — как возникли Ruby-фреймворки, какие проблемы они решали и как развивалась экосистема.Основы языка Ruby
Что требуется знать перед началом изучения языка программирования Ruby
Рекомендации по разработке на Ruby
Объектно-ориентированное программирование в Ruby
Простые приложения на Ruby
История языка Ruby
Синтаксис и пунктуация в Ruby
Ключевые слова языка Ruby
Встроенные функции и методы Ruby
Типы данных в Ruby
Управляющие конструкции и циклы в Ruby
Фреймворки и экосистема Ruby