2016-06-17 4 views
0

В MATLAB, если вы записываете скрипт и запускаете его, переменные, определенные в скрипте, доступны в командной строке. Я хотел бы сделать что-то подобное с IRB или Pry. Я написал сценарий под названием «scratch.rb», который просто читаетКак запустить скрипт Ruby в интерактивном режиме

x = 0 

Если я типа «ЭСО» в командной строке в том же каталоге, как этот сценарий и введите

> load 'scratch.rb' 

Это, как представляется, работать скрипт Ruby (как я подтвердил добавлением команды ap). Однако, если сразу же после этого я пытаюсь «эхо» переменные й на

> x 

Я получаю ошибку

NameError: undefined local variable or method `x' for main:Object 

Можно ли сделать переменные доступны в интерактивном режиме на этом пути?

+0

он будет работать, если вы сделаете '@x = 0' и ссылаетесь на него как' @ x' –

ответ

1

Нет, это не так. Локальные переменные ограничены внутри файла.

Если вы хотите усилить силу, вы можете прочитать файл как строку и оценить его в привязке корневой среды irb.

Смежные вопросы