ruby – 返回两个元素:Array与Struct

我有一个方法计算(数据)返回两个值.一个是等级(Float),另一个是细节(Hash).比较以下两个选项,有一种首选方式吗?

def calculate(data)
  ...
  [grade,details]
end

grade,details = calculate(data)

def calculate(data)
  ...
  Result.new(grade,details)
end

result = calculate(data)
grade = result.grade
details = result.details

Ruby中有什么更惯用的东西?

解决方法

数组形式更加惯用.实际上,您可以通过Ruby的内置多重返回机制来实现:

def calculate(data)
  ...
  return grade,details
end

grade,details = calculate(data)

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...