ruby - 通过已定义数组元素的子字符串从已定义范围返回子数组

标签 ruby arrays

我有一个排序的元素数组(唯一且不连续):

array= ["AAA", "BBB", "CCC", "DDD", "EEE"]

我定义了一系列元素:

range_1 = ("CC" .. "DD")
range_2 = ("B" .. "E")

元素的范围只是引用 array 元素的字符串,但前提是这些元素的 starts_with?true。示例:

"C", "CC" and "CCC" in range - fits to "CCC" in array
"D", "DD" and "DDD" in range - fits to "DDD" in array

range_1range_2 的预期结果如下:

result_1 = ["CCC", "DDD"]
result_2 = ["BBB", "CCC", "DDD", "EEE"]

如何在 Ruby 中实现它?

最佳答案

另一种方式:

def git_em(array, range)
  array.select {|e| range.any? {|r| e.start_with? r}}
end

array= ["AAA", "BBB", "CCC", "DDD", "EEE"]
range_1 = ("CC" .. "DD")
range_2 = ("B" .. "E")

git_em(array,range_1) # => ["CCC", "DDD"]
git_em(array,range_2) # => ["BBB", "CCC", "DDD", "EEE"] 

关于ruby - 通过已定义数组元素的子字符串从已定义范围返回子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19732759/

相关文章:

ruby-on-rails - activesupport 回调中的堆栈级别太深

ruby - 将命名参数作为 Ruby 中的局部变量

ruby-on-rails - 为什么我的哈希会自动排序?

PHP:是否有保存配置数据的正确方法?

ruby - 在 Ruby 中读取 YAML 文件

c++ - 我可以像使用 Lua 一样使用 Ruby 编写 C++ 应用程序脚本吗?

ruby-on-rails - ActiveAdmin单表继承公共(public)属性表单重写

arrays - firebase swift 观察者之外的空数组

c++ - OpenGL - 无法读取/写入 2D 深度纹理数组

javascript - jQuery .getJSON 返回数组变量和 json 数组操作