0

HighLineを使用してコンソールアプリケーションを作成していますが、HighLine :: Question :: in_rangeを変更したいと思います!タブ補完がアクティブなままになるように機能しますが、そのハイラインは、入力された単語が範囲内にあるかどうかをわざわざチェックしません。

たとえば、%w {app1、app2、app3}のようなタブ補完リストがあるとします。

コンソールでそれを実行できるようにしたいと思います。

app1 -option1 value1 -option2 value2

HighLineのコードから理解できることから、in_rangeを渡す必要があるようです。チェックして、関数がtrueを返す必要があるようにします。

明らかに、ファイル内のコードソースHighLineに直接変更したくありません。そのため、自分のコードでその関数をその場で変更または書き換えることができるソリューションを探しています。私が探していることを行うための解決策はありますか?

お時間をいただきありがとうございます。はっきりと質問できたと思います。

4

1 に答える 1

4

特定のオブジェクトのin_range?メソッドを変更する場合は、次のことができます。Questionx

class << x
  def in_range?
    true
  end
end

すべての Questionオブジェクトに対して変更する場合:

class Question
  def in_range?
    true
  end
end

しかし、あなたの場合、本当にそれをする必要があるのだろうか。私はあなたが簡単に設定することができると思いますabovebelowそしてあなたの質問でチェックを簡単にするinために。nilin_range?

于 2009-07-07T08:07:53.633 に答える