3
假设我有一个三角形,三边和三个角度。 S1,A1,S2,A2,S3,A3和我想通过triangle.new如何处理Ruby中三角形类的初始化方法
初始化这个下面是我的代码:
module Triangle
class Triangle
attr_accessor :s1, :a1, :s2, :a2, :s3, :a3
def initialize(s1, a1, s2, a2, s3, a3)
@s1 = s1
@a1 = a1
.
.
.
end
end
end
现在,这里是我的问题。我希望能够处理缺少角度或边的三角形。我玩过可选的参数,但如果你给我四个数字,我不知道哪个是侧面,哪些是角度。要做的最好的事情是需要六个数字,然后用triangle.new(5,nil,6,nil,9,nil)
之类的东西给他们打电话?或者,还有更好的方法?
感谢。这听起来不像我的代码那样。我知道我做错了什么。 – 2011-12-20 15:27:22
在Ruby 1.9中,调用行可以是:'Triangle.new(s1:5,s2:6,s3:9,a1:7,a3:0)'使用新的散列传递语法。 – Linuxios 2011-12-20 15:34:04
谢谢。我使用1.9。 – 2011-12-20 15:35:51