当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Array.reject用法及代码示例


Ruby Array.reject 方法

在上一篇文章中,我们已经看到如何利用 Array.select 方法根据块内提供的某些条件打印 Array 元素?在本文中,我们将看到如何使用 Array.reject 方法? Array.reject 方法与 Array.select 方法完全相反。

Array.reject 方法,顾名思义,用于拒绝 Array 中的某些元素。如果元素满足块内提供的条件或标准,则不会打印这些元素。此方法是一种非破坏性方法,不会给 Array 对象的实际值带来任何变化。此方法基于您将在括号内提供的某些条件。此方法完全基于您在块内提供的标准。即使您没有在块内指定任何条件,此方法也将起作用。如果您没有提供任何拒绝条件或标准,它将打印所有值。

用法:

    Array.reject{|var| #condition}

参数:

此方法不允许传递任何参数,而是强制要求一个条件。

范例1:

=begin
  Ruby program to demonstrate Array.select
=end

# array declaration
num = [2,44,2,5,7,83,5,67,12,11,90,78,9]
puts "Enter 'a' for Even numbers and 'b' for odd numbers"
opt = gets.chomp

if opt == 'b'
  puts "Odd numbers are:"
  puts num.reject{|num|
    num%2 == 0
  }
elsif opt == 'a'
  puts "Even numbers are:"
  puts num.reject{|num|
    num%2 !=0
  }
else
  puts "Wrong selection. Input valid option"
end

输出

RUN 1:
Enter 'a' for Even numbers and 'b' for odd numbers
 a
Even numbers are:
2
44
2
12
90
78

RUN 2:
Enter 'a' for Even numbers and 'b' for odd numbers
 b
Odd numbers are:
5
7
83
5
67
11
9

说明:

在上面的代码中,您可以观察到我们正在从用户那里获取关于用户想要什么类型的数字作为输出的输入。这是因为我们想在 Array.reject 方法中传递某些条件。我们根据用户提供的选项向用户提供响应,并且此方法仅以这种方式使用。它拒绝满足块内提供的条件的元素。

范例2:

=begin
  Ruby program to demonstrate Array.reject
=end

# array declaration
num = [2,44,2,5,7,83,5,67,12,11,90,78,9]
puts num.reject{|a|}

输出

2
44
2
5
7
83
5
67
12
11
90
78
9

说明:

在上面的输出中,您可以观察到,当您没有在方法内部指定任何条件时,它仍然不会在内部抛出任何类型的异常,它将打印 Array 实例中存在的所有元素。这是我们可以区分 Array.select 和 Array.reject 的另一点。



相关用法


注:本文由纯净天空筛选整理自 Array.reject Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。