缩短枚举代码

Mor*_*ess 0 ruby enumeration ruby-1.9.2

什么是在Ruby中实现这一目标的简洁方法?我只是想等到所有对象都在运行.这似乎太罗嗦了.

# arr contains objects that respond to running?
all_running = false
until all_running
    sleep 0.5
    all_running = true
    arr.each{ |obj|
        all_running = all_running and obj.running?
    }

end
Run Code Online (Sandbox Code Playgroud)

Sim*_*nst 6

sleep 0.5 until arr.all? &:running?
Run Code Online (Sandbox Code Playgroud)