9
Chcę użyć IRB do uruchomienia skryptu, a następnie udziel mi interaktywnego pytania. Robię to z python -i xy.py
w Pythonie, jednak irb xy.rb
kończy działanie po wykonaniu.IRB analogia python -i
> python --help
-i When a script is passed as first argument or the -c option is
used, enter interactive mode after executing the script or the
command
Należy jednak pamiętać, że użycie opcji '-r' lub' require' nie zapewni dostępu do zmiennych lokalnych skryptu, nawet jeśli zostaną one zdefiniowane w środowisku wykonawczym najwyższego poziomu. – Kelvin
@ Kelvin, dlaczego to jest? – hso
@hso To z powodu zasad dotyczących zakresu ruby. Gdy "potrzebujesz" lub "wczytaj" plik w ruby, zmienne lokalne na najwyższym poziomie tego pliku nie "rozlewają się" (to znaczy nie są dostępne) tego skryptu. Dotyczy to nie tylko "irb", ale także, gdy jeden skrypt "wymaga innego". Możesz użyć 'eval', aby ominąć to, ale wtedy będziesz musiał zadzwonić z wiązaniami ... – Kelvin