Я делаю проект командной строки demo в Ruby. Структура такова:Ruby Project - Предотвращение рубинового файла из непосредственного вызова из командной строки OS
/ROOT_DIR
init.rb
/SCRIPT_DIR
(other scripts and files)
Я хочу, чтобы пользователи только войти в приложение с помощью init.rb
, но, как он стоит, любой человек может зайти в поддиректории и вызывать другие сценарии рубин непосредственно.
Вопросы:
- Какими способами можно выше сценарий можно предотвратить?
- Если бы я должен был использовать разрешения на каталоги, будет ли он сбрасываться при запуске кода с Windows-машины на Linux-машине?
- Есть ли что-нибудь, что может быть включено в сами файлы Ruby, чтобы предотвратить его прямое вызов из командной строки ОС?
Спасибо, первое решение работает по желанию. Еще один вопрос: FROM_INIT является константой, а константа является глобальной во время жизни программы. Итак, как глобальная переменная типа «$ from_init» будет отличаться от константы? – Spandan
@Spandan Константа не может быть изменена, а глобальная переменная может быть. см .: http://pastebin.com/QEUdxhiK; Тем не менее, глобальная работа тоже будет работать. – Carpetsmoker
ah благодарит за пояснения. – Spandan