9
Tôi muốn sử dụng IRB để chạy tập lệnh sau đó cung cấp cho tôi lời nhắc tương tác. Tôi làm điều này với python -i xy.py
trong Python, tuy nhiên irb xy.rb
thoát sau khi thực thi.Tương tự IRB của 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
Hãy nhớ rằng, bằng cách sử dụng '-r' hoặc' require' sẽ không cung cấp cho bạn quyền truy cập vào các biến cục bộ của tập lệnh, ngay cả khi chúng được xác định ở môi trường thực thi cấp cao nhất. – Kelvin
@Kelvin tại sao đây là? – hso
@hso Đó là vì quy tắc phạm vi của ruby. Khi bạn 'require' hoặc' load' một tệp trong ruby, các biến cục bộ ở cấp cao nhất của tệp đó không "tràn ra" (tức là không thể truy cập) của tập lệnh đó. Điều này không chỉ áp dụng cho 'irb', mà còn khi một kịch bản' yêu cầu một tập lệnh khác. Bạn có thể sử dụng 'eval' để giải quyết vấn đề này, nhưng sau đó bạn cần lộn xộn với các ràng buộc ... – Kelvin