gpt4 book ai didi

ruby - 如何让 Ruby 方法显示它们期望的类型

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:57 25 4
gpt4 key购买 nike

使用 Ruby 方法名称表达意图的最佳做法是什么?

例如,使用以下内容:

class Formula
attr_accessor :steps

def find_step(key)
@steps.find {|s| s.name == key }
end

end

和:

class Step
attr_accessor :name
end

Formula#find_step 方法需要一个 Symbol,但它可以很容易地接受一个 Step 类型并检查名称是否匹配。我可以重命名方法 find_step_by_name 但仍然不清楚 name 是什么。它是字符串还是符号?或者它是否匹配 Step 对象上的名称?

编辑:标记为 Does Ruby support type-hinting? 的可能重复项我不是在问这是否可能,我是在问一个关于命名的问题。

最佳答案

在Ruby2.1之后,我认为下面的解决方案很好。

def find_by(name:)
# and you can check if type of name is what you expect as you need.
# But that is not duck-typingy.
end

关于ruby - 如何让 Ruby 方法显示它们期望的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29246016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com