9
Quiero usar IRB para ejecutar un script y luego darme un aviso interactivo. Hago esto con python -i xy.py
en Python, sin embargo, irb xy.rb
sale después de la ejecución.Análogo IRB de 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
Tenga en cuenta, sin embargo, que el uso de '-r' o' require' no le dará acceso a las variables locales del script, incluso si están definidas en el entorno de ejecución de nivel superior. – Kelvin
@ Kelvin ¿por qué es esto? – hso
@hso Es debido a las reglas de alcance de Ruby. Cuando 'requiere' o 'carga' un archivo en ruby, las variables locales en el nivel superior de ese archivo no se "derraman" (es decir, no son accesibles) de ese script. Esto no solo se aplica a 'irb', sino también cuando un script' requiere' otro. Podría usar 'eval' para evitar esto, pero luego tendría que meterse con los enlaces ... – Kelvin