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