我正在上介绍性软件开发课,我的作业是 创建一个带有两个参数的剪刀石头布程序(石头, 纸)等,并返回获胜的 arg。
现在,如果我可以使用条件语句,我会快速解决这个问题, 但作业说我们需要知道的一切都在前三个 ruby 教科书的章节,这些章节不包括 条件!没有它们是否可以创建这个程序? 或者他只是希望我们足智多谋并使用条件句? 这是一个非常简单的条件分配......我在想 我可能在这里遗漏了一些东西。
编辑:我正在考虑那个 chmod 数字系统,并认为通过该加法系统可能有解决方案......
最佳答案
这是一个只使用哈希的方法:
RULES = {
:rock => {:rock => :draw, :paper => :paper, :scissors => :rock},
:paper => {:rock => :paper, :paper => :draw, :scissors => :scissors},
:scissors => {:rock => :rock, :paper => :scissors, :scissors => :draw}
}
def play(p1, p2)
RULES[p1][p2]
end
puts play(:rock, :paper) # :paper
puts play(:scissors, :rock) # :rock
puts play(:scissors, :scissors) # :draw
关于ruby - 硬件不可能? : "Create a rock paper scissors program in ruby WITHOUT using conditionals",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923486/