Ruby учебник "Hello World!"
Этот учебник создан для новичков. Он научит Вас писать Ruby скрипты для SketchUp.
Содержание
- Обзор
- Первая версия
- Создание функции
- Запуск функции
- Как поместить функцию в меню?
Это руководство предполагает, что вам ничего не известно о Ruby и почти ничего о программировании.
Вы увидите, что даже без освоения языка программирования Ruby можно сделать много всего интересного, просто изменив существующий Ruby скрипт и запустив его. Но, как только вы столкнетесь с проблемами Вам, вероятно, придется углубиться в документацию по Ruby и SketchUp Ruby, чтобы получить правильный синтаксис.
Этот самый первый Ruby скрипт будет отображать окно сообщения со словами "Hello World" в нем.
- Во-первых, используя текстовый редактор, нам надо создать текстовый файл HelloWorld.rb в кодировке ASCII.
-
Запустите текстовый редактор и введите следующий текст:
UI.messagebox("Hello World!")
Если Вы не любите печатать, то просто можно скопировать и вставить текст прямо из этой статьи.
-
Сохраните файл.
Ruby скрипты должны иметь расширение ".rb". Любой скрипт сохраненный в папке установки SketchUp в подпапке "plugins" автоматически загружаться и исполняться при запуске SketchUp. На большинстве windows машин это будет здесь:
С:\Program Files\Google\Google SketchUp 6
-
Итак, сохраните файл, как:
С:\Program Files\Google\Google SketchUp 6\ HelloWorld.rb
-
Запустите скрипт:
Запустите SketchUp, и программа должна выполнить ваш скрипт и вывести на экран окно со словами "Hello World!".
- Нажмите кнопку OK в появившемся окне.
Вот и все! Однако это слишком легко, поэтому сейчас давайте сделаем некоторые изменения в скрипте. При каждом запуске SketchUp этот скрипт показывает окно с надписью "Hello World!". Это очень раздражает!
Сейчас мы исправим ситуацию и создадим функцию, которая будет показывать окно с приветствием. Это окошко будет выскакивать только при вызове функции.
Ruby функция определяется словом def, а заканчиваются словом end.
- Снова откройте текстовый редактор и загрузите файл HelloWorld.rb, который вы создали.
- В самое начало файла добавьте: def hello. Так будет объявлена новая функция по имени hello.
- В конец файла добавьте слово end.
-
Ваш файл теперь должен выглядеть так:
def hello
UI.messagebox("Hello World!")
end
-
Сохраните файл и снова запустите SketchUp.
При запуске SketchUp ничего не должно произойти. Если Вы что-то пропустили или неправильно напечатали, то при запуске SketchUp появится сообщение об ошибке. Если оно появилось, то исправьте ошибку, сохраните файл и опять перезапустите SketchUp.
Чтобы запустить функцию hello, надо открыть Ruby Console (Ruby консоль) и ввести имя функции.
- Откройте Ruby Console. Это последний пункт меню Window.
- Внизу окна Ruby Console в белой области введите имя вашей функции, hello, и нажмите на клавиатуре Enter.
- Должно появиться окно "Hello World"!
Конечно, Вы не хотите, чтобы пользователю каждый раз для запуска функции надо было открывать Ruby Console и печатать имя функции. Это не удобно! Сейчас мы напишем код, который поместит нашу функцию в меню "plugins". Измените файл со скриптом, чтобы он стал таким, как показано ниже.
Я добавил комментарии, которые помогут вам понять за новый код. Добавляйте комментарии во все свои программы, чтобы потом, просматривая код, сразу понять, что к чему. Чтобы не наделать ошибок, удалите все из вашего файла, скопируйте этот здоровенный кусок кода и вставьте его в ваш файл.
require "sketchup.rb" #Make sure this ruby file is loaded
def hello
UI.messagebox("Hello World!")
end
filename="HelloWorld.rb"
if !file_loaded?(filename)
plugins_menu = UI.menu("Plugins")
if plugins_menu
plugins_menu.add_separator
plugins_menu.add_item("Hello World") { hello}
end
file_loaded(filename)
end
Теперь, когда вы вновь запустите SketchUp, в меню плагинов (Plugins) появится пункт "Hello World". Выбираем пункт "Hello World", и наша функция запускается!