0

高価であると仮定するとsearch、これをワンライナーにする方法はありますか?

result = Product.search(query)
return result if result

検索はコストがかかるため、次のようになります。

return Product.search(query) if Product.search(query)
4

5 に答える 5

3
result = Product.search(query) and return result
于 2013-08-17T02:33:20.093 に答える
1

1 つの解決策 (Ruby 1.9+):

Product.search(query).tap {|result| return result if result }

しかし、これでコードが明確になるとは思いません。私は次のようなものを書きたいと思います:

if result = Product.search(query)
  return result
end
于 2013-08-17T02:39:15.600 に答える
1

1 つの可能性:

if result = Product.search(query) then return result end
于 2013-08-17T06:20:08.333 に答える
0

返される内容に依存しない場合は、次のように 1 行で簡単に作成できます。

return Product.search(query)
于 2013-08-17T15:33:31.647 に答える