3

私の Ruby プログラムには、5 つの文字列の配列があり、その配列の各要素が特定の要件に一致するかどうかを確認したいと考えています。次に例を示します。

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

私がこの質問をしている理由は、Ruby にはかなり大規模な標準 API があり、事前に記述された構文糖衣がたくさんあります。私はそれを知りたいのですが、再発明したくありません。

4

2 に答える 2

15

非常に簡潔な方法があります:

array.all? &:blank?

s のEnumerable使い方を勉強して学べば、すぐに Ruby の最も快適な方言を話せるようになります。Enumerator

于 2012-04-16T18:44:08.523 に答える
0

別の方法: String#to_proc がある場合 (広告と見なされる場合に備えて、自分の保管サイトを投稿しないので検索してください)、同様の方法を使用できます。

a.inject(&'&& $1.blank?')

これはと同等です

a.inject{ |sum,i|
  sum && i.blank?
}
于 2012-04-16T19:41:20.753 に答える