用于了解所有数组元素是否为特定方法返回true的语法糖?

rod*_*ves 3 ruby arrays ruby-on-rails

在我的Ruby程序中,我有一个包含五个字符串的数组,我想检查该数组的每个元素是否与给定的需求匹配,例如:

a = ['', '', '', '']
a.inject(:blank?) # Will return true if (and only if) all elements of a are blank
Run Code Online (Sandbox Code Playgroud)

我问这个问题是因为Ruby有一个非常大的标准API,有很多预先编写的语法糖,我想知道并且不想重新发明.

Mat*_*ira 15

有一个非常简洁的方式:

array.all? &:blank?
Run Code Online (Sandbox Code Playgroud)

学习Enumerable和学习如何使用Enumerators,你将立刻说出最令人愉快的Ruby方言.