6
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

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

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? は、なぜうまく動くのかわかっていない…

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
6
Help us understand the problem. What are the problem?