Ruby怎么实现“如果不是空的,则每个操作符都是其他操作符”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

1.我找不到一个好的方式来编写这段代码:

if array.empty?
  # process empty array
else
  array.each do |el|
    # process el
  end
end

我想有一个循环,不用写array两遍。

2.我实际上是在一个HAML模板中。同样的问题。

- if array.empty?
  %p No result
- else
  %ul
  - array.each do |el|
    %li el
提问于
用户回答回答于

这样呢?

array.each do |x|
  #...
  puts "x",x
end.empty? and begin
  puts "empty!"
end
用户回答回答于

我在HAML(不是普通的Ruby)中看到的最干净的方式就是这样:

- array.each do |item|
    %li
        = item.name
- if array.empty?
    %li.empty
        Nothing here.

扫码关注云+社区