高価であると仮定するとsearch
、これをワンライナーにする方法はありますか?
result = Product.search(query)
return result if result
検索はコストがかかるため、次のようになります。
return Product.search(query) if Product.search(query)
高価であると仮定するとsearch
、これをワンライナーにする方法はありますか?
result = Product.search(query)
return result if result
検索はコストがかかるため、次のようになります。
return Product.search(query) if Product.search(query)
result = Product.search(query) and return result
1 つの解決策 (Ruby 1.9+):
Product.search(query).tap {|result| return result if result }
しかし、これでコードが明確になるとは思いません。私は次のようなものを書きたいと思います:
if result = Product.search(query)
return result
end
1 つの可能性:
if result = Product.search(query) then return result end
返される内容に依存しない場合は、次のように 1 行で簡単に作成できます。
return Product.search(query)