gpt4 book ai didi

ruby - 在 ruby​​ 中定义转换规则的最佳方式是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 07:29:23 25 4
gpt4 key购买 nike

有时您需要将一组值“映射”到另一组值,因此当您从第一组值中获取一个值时,您将返回另一组值的对应值。这就像数学函数的概念:x -> f(x)

所以,我发现它可以通过两种方法实现:您可以将“转换规则”定义为散列:

rule = {
'A' => 'Excelent',
'B' => 'Great',
'C' => 'Good'
}

并将其应用于给定的输入,如下所示:

a = rule[input_1]
b = rule[input_2]

或者您可以使用由函数包装的 case block :

def rule(input)
case input
when 'A'; 'Excelent'
when 'B'; 'Great'
when 'C'; 'Good'
end
end

然后像这样应用规则:

a = rule(input_1)
b = rule(input_2)

所以,我想知道每一个的优点和缺点,如果有一个“更标准”的解决方案,我认为,这是一个非常普遍的问题。 (这 2 个只是“感觉”不理想)。

最佳答案

我不打算尝试比较这些方法的任何细节,但就我而言,Hash 被设计成一个显式映射,就像一个离散函数,所以这是我总是从哪里开始。

Case 语句以其更灵活的形式确实有很多很好的用途,但我觉得它们从来都不是适合我的工具

关于ruby - 在 ruby​​ 中定义转换规则的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5793613/

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