内置测试nil或空数组的方法?

Bla*_*man 33 ruby

如何判断数组是空还是零?

saw*_*awa 40

没有Rails或ActiveSupport,

array.to_a.empty?
Run Code Online (Sandbox Code Playgroud)

  • Splat也在这里工作,我有时会用它来实现这个目的:`[*arr] .empty?` (5认同)

Mic*_*ohl 26

有没有内置的Ruby的方法做到这一点,但ActiveSupportblank的确:

>> require "active_support/core_ext/object/blank" #=> true
>> nil.blank? #=> true
>> [].blank? #=> true
Run Code Online (Sandbox Code Playgroud)

  • 没什么要小心的.你在一个数组实例上调用`blank?`并且所述数组既不是空的也不是nil.如果那不是你想要的那么用`[''] .all?(&:blank?)`代替. (3认同)

Mik*_*wis 11

你可以使用 Array#empty吗?对象#nil?方法与OR结合使用.

arr.nil? || arr.empty?
Run Code Online (Sandbox Code Playgroud)

如果数组为空或数组值为nil,则返回true.

  • @aromero:downvote可能是因为如果`arr`真的是'nil`,那么`empty?`检查会引发一个'NoMethodError`.如果颠倒顺序就没问题,因为逻辑表达式会短路. (6认同)

Aks*_*ite 5

要检查数组是否为空,可以使用 ' empty? ' 内置方法如下,

数组.空?# 返回真/假

检查数组是否为 nil(如果未初始化或设置为 nil)

数组.nil?# 返回真/假