gpt4 book ai didi

Ruby:像对待数字一样对待一个类?

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

我想在做一些数学时混合使用罗马数字和阿拉伯数字。

我会为每个符号定义一些类

class Iendclass Vendclass Xend

现在我希望能够说出类似的话

5 + V   # results in 10X + 12  # results in 22

但我不确定从哪里开始。
我必须定义一个方法来告诉 ruby​​ 5 + V 是如何工作的,给每个类一个值,当我说

I

我应该得到值 1。

我应该看看什么样的方法可以让我把 X 当作数字 10?

最佳答案

我觉得很简单:

V = 5
V + 1 #=> 6

如果您想将结果显示为罗马数字,我会使用 to_roman 方法扩展 Fixnum 类:

class Fixnum
def to_roman
# I'll leave the implementation up to you
end
end

有了这个你可以做:

10.to_roman #=> "X"

关于Ruby:像对待数字一样对待一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10629485/

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