论坛首页 入门技术论坛

if和each的组合

浏览 1789 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-12-20  

现在有一个数组,如果数组为空,则输出Empty,如果数组不为空,则遍历输出数组元素。

 

最初想到的一般是这样:

 

  a = [1, 2]
  if a.empty?
    puts "Empty"
  else
    a.each do |i|
      puts i
    end
  end

 

能不能将if和each组合起来呢?

 

我想到的一个实现方式如下:

 

  a = [1, 2]
  if a.each do |i|
      puts i
    end.empty?
    puts "Empty"
  end

 

如果有更简的实现方式,希望能提出来与大家分享。

   发表时间:2009-12-20  
a = [1, 2] 
puts a.empty ? "Empty" :  a
0 请登录后投票
   发表时间:2009-12-20  
0701 写道
a = [1, 2] 
puts a.empty ? "Empty" :  a

首先,应该是puts a.empty? ? "Empty" :  a
其次,你这边输出的a是Arrary类型的,帖子中是遍历输出的,其中的i是Fixnum类型的
0 请登录后投票
   发表时间:2009-12-21  
a.empty? ? "empty..." : a.each {|i| puts i}
0 请登录后投票
   发表时间:2009-12-23  
arr = [1,2,3]

(["Empty"] + arr).each {|e| puts e}
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics