1

Ruby は初めてで、Thor といくつかの追加の gem を使用して cli アプリを作成しています。私の問題は、(コンソールから)ユーザー入力を取得し、データを変数として既存のメソッドに渡すことです(このメソッドはgemからのものです)

私の方法

def search(searchtype, searchterm)

  search = OtherClass.new  
  result = search.search.searchtype keyword: "#{searchterm}"
  puts result
  # search.search.searchtype is not a method in the gem im using.

end

OtherClass gem には次の検索方法があります: users、repos

ユーザーの方法

def users(*args)

  arguments(args, :required => [:keyword])
  get_request("/legacy/user/search/#{escape_uri(keyword)}", arguments.params)

end

レポ方法

def repos(*args)
  arguments(args, :required => [:keyword])

  get_request("/legacy/repos/search/#{escape_uri(keyword)}", arguments.params)
end

では、OtherClass からメソッドにユーザー データを渡すにはどうすればよいでしょうか。これは私がやりたいことのようなものです。SEARCHTERM は、メソッド パラメータとして search.search オブジェクトに動的に渡されます。

def search(SEARCHTYPE, searchterm)

 search = OtherClass.new  
 result = search.search.SEARCHTYPE keyword: "#{searchterm}"
 puts result

end

「#{searchterm}」は期待どおりに機能しますが、メソッドを search.search オブジェクトに動的に渡したいと考えています。これはおそらく if で実行できますが、もっと良い方法があると確信しています。これを解決する Ruby の方法かもしれません。問題。

最後に、この小さなプログラムをこのように使用できるようにしたいと思います (serch メソッド)

./search.rb 検索オープンソース Linux

(opensource はユーザーまたは別のタイプの検索であり、linux は searchtype の検索キーワードである可能性があります)

これが可能であれば、私はどんな助けにも感謝します!

サンクス!

4

1 に答える 1