我剛剛退出Ruby並正在通過製作MasterMind遊戲進行練習。我有一個叫Color
的班級,如下所示。創建常量的首選方法
module Colors
LIST =
{
R: "Red",
B: "Blue",
G: "Green",
Y: "Yellow",
V: "Violet",
P: "Purple",
I: "Indigo",
A: "Ash",
O: "Orange"
}
class Colors
def initialize
end
def self.generate_colors(amount)
# LIST.to_a.sample(amount)
sample = []
list = LIST.to_a
amount.times{ sample << list[Random.rand(list.length-1)] }
sample
end
def self.get_color(key)
LIST[key]
end
def self.get_color_keys (colors)
keys_array = []
colors.each{|key, color| keys_array << key.to_s;}
return keys_array
end
def self.get_color_values(colors)
values_array = []
colors.each{|key, color| values_array << color}
values_array
end
end
end
我的教練說,LIST
常數可以很容易地放置在Colors
類中,這樣只需要調用一個方法,比如說,get_colors
,回到我的顏色列表。
由於我是Ruby新手,我想知道常規的Ruby約定是什麼,您認爲哪種方法是更好的方法。
許多優秀的問題都會根據專家的經驗產生一定程度的意見,但對這個問題的回答往往基於意見而不是事實,參考或具體專業知識。 – dax
是的,我以爲...但我只想知道是否有一個會議我應該使用 –
*「LIST常量」* - 複數?只有一個常量:'LIST'。顏色鍵是符號。 – Stefan