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