ruby - 在 Ruby 中处理单个值或数组的最佳方法是什么

标签 ruby arrays

我想编写一个接受单个值或数组的方法。在 Ruby 中执行此操作的最佳习惯用法是什么?

以下是我想到的一些事情:

def do_something(items)
  [*items].each { |item| ... }
end

我喜欢它的简洁,但除非你习惯了这种语法,否则它并不清楚

下一个感觉代码太多了。

def do_something(items)
  items = [items] unless items.respond_to? :each
  items.each { |item| ... }
end

最佳答案

Kernel#Array方法在这里运行良好,旨在用于将事物强制转换为数组:

irb(main):001:0> def my_length(item_or_array)
irb(main):002:1>   Array(item_or_array).length
irb(main):003:1> end
=> nil
irb(main):004:0> my_length('one')
=> 1
irb(main):005:0> my_length([1, 2, 3])
=> 3

关于ruby - 在 Ruby 中处理单个值或数组的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11635022/

相关文章:

javascript - 生成一个4位数组,其中包含不重复的数字

arrays - Google 应用程序脚本 - 获取数组中每个元素的 A1 单元格符号

arrays - Swift 2.0 对象数组到 JSON 字符串

javascript - CoffeeScript 的行为就像一个 ID 仍然存在,但它不存在

ruby - 嵌套 RSpec 测试

ruby - 如何显示修改后的字符串?

javascript - 获取 JSON 对象的值

ruby - 使用 Ruby 和 FFI 获取 PID

ruby-on-rails - 带有 ruby​​ on rails 形式的正则表达式模式

javascript - 删除元素时如何保留数组键?