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 の検索キーワードである可能性があります)
これが可能であれば、私はどんな助けにも感謝します!
サンクス!