LoginSignup
10
7

More than 5 years have passed since last update.

rubyでeachをする際に、中身が空であれば別の処理をさせる

Last updated at Posted at 2016-05-15

phpのテンプレートエンジンの Smarty で以下の繰り返しがある場合に foreach に対する else が出来た。
これをrubyでもやりたかったので、調べてみた

Smarty
{foreach $items as $key => $value}
  key={$key}  value={$value}
{foreachelse}
  itemの中身はありませんでした
{/foreach}

rubyでは以下のようにするとSmartyと同様の事が出来る。

ruby
if items.each do |item|
  p item
end.empty?
  print "itemの中身はありませんでした。"
end

end.empty? は、なぜうまく動くのかわかっていない…

10
7
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7