0
我試圖以編程方式啓動控制檯的情況下運行如何使用interactive_editor這樣的:當REPL控制檯中的特定對象
- 它的上下文被綁定到特定的對象(link to Stack Overflow)。
- 它允許我使用的工具(即
vim
命令)由interactive_editor
寶石(link to GitHub)提供。
這似乎是我試圖滿足的兩個條件是相互排斥的。下面我編寫一個腳本來觸發一個綁定到[1,2,3]
列表上下文的REPL。
# test.rb
require 'ripl'
require 'interactive_editor'
Ripl.start :binding => [1,2,3].instance_eval { binding }
如果運行ruby test.rb
,你可以看到你是在[1,2,3]
背景:
>> self
=> [1, 2, 3]
>> map { |a| a * 2 }
=> [2, 4, 6]
但如果你使用interactive_editor
的特點嘗試:
>> vim "something"
=> [1, 2, 3]
這最後線火起來vim
,實際上寫入文件「東西」(沒有我明確保存):
# something
---
- 1
- 2
- 3
有沒有辦法對我來說,解決這個問題呢?我是否應該將其作爲interactive_editor
寶石上的問題提交?當我使用IRB
以及interactive_editor
或irbtools
時,會發生同樣的錯誤。
我的猜測是,改變的背景下使得很難對interactive_editor
解決其對象定義,但我不知道這是如何工作。
在此先感謝,並請讓我知道,如果我忽略的重要信息。
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
iteractive_editor (0.0.10)
irbtools (2.0.1, 1.7.1)
ripl (0.7.1)
ripltools (0.7.0)
我運行OS X約塞米蒂10.10.3但已經成功地複製在其他幾個Linux系統這個問題。