我正在使用HighLine编写我的控制台应用程序,我想修改HighLine :: Question :: in_range!功能,以便标签完成保持激活状态,但高线不打扰检查键入的单词是否在范围内。
所以,假设我有一个标签完成列表,例如%w {app1,app2,app3}
我希望能够在我的控制台中执行此操作:
app1 -option1 value1 -option2 value2
根据我对HighLine中的代码的理解,似乎我需要传递in_range!检查,以便该函数需要返回true。
我不想在其文件中直接修改代码源HighLine。所以我正在寻找一种能够在我自己的代码中动态修改或重写该功能的解决方案。有没有解决办法来做我正在寻找的事情?
感谢您的时间,我希望我已经清楚地问了我的问题。
答案 0 :(得分:4)
如果您要修改特定in_range?
对象Question
的{{1}}方法,则可以
x
如果要为所有 class << x
def in_range?
true
end
end
个对象修改它:
Question
但是,我想知道你是否真的需要这样做。我认为您只需在问题中将class Question
def in_range?
true
end
end
,above
和below
设置为in
即可轻视nil
支票。