ruby - 执行操作直到满足条件

标签 ruby arrays

我觉得这应该很容易,我只是碰壁了。

我需要遍历数组直到满足条件。例如:

count = 0    
array = ["","","test","demo"]

我想遍历这个数组,递增计数 1,直到找到第一个非空值。所以我想要 "test" 的索引值,但是当达到 "test" 时我想停止循环。

另外,作为旁注,我怎样才能找到数组中第一个非空值的索引?我想知道这两种方法,因为它们都有潜在的应用。

最佳答案

你可以同时拥有 :)

这会找到第一个非空字符串的索引:

array = ["","","test","demo"]
array.index {|str| !str.empty?}
#=> 2

您可以在 {|str| 中更新计数!str.empty?}-block 如果你喜欢,因为 Array#index 从头到尾循环遍历数组。

仅供引用:index 方法是 find_index 的别名

关于ruby - 执行操作直到满足条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20097922/

相关文章:

python - 如何使用 numpy.genfromtxt 将下三角矩阵读入 numpy 数组?

ruby-on-rails - 如何判断一个时间/日期是否是今天, ruby ?

ruby - rbenv:没有这样的命令 `shell' - 在 16.04 sudo 环境中为每个应用程序/目录配置 RBENV

ruby catch 定义的类

c - C 中指向字符串的指针数组

c++ - 实现哈希表,insert函数导致 "scope"错误

ruby-on-rails - 有什么方法可以确定 csv 是否带有标题或不在 rails 中

ruby - 如何使用 ruby​​gems 正确打包应用程序?

python - 将两个列表按元素连接成一个 n x n 矩阵

Java转换整数到字符串不一致