草庐IT

ruby - 硬件不可能? : "Create a rock paper scissors program in ruby WITHOUT using conditionals"

coder 2025-06-01 原文

我正在上介绍性软件开发课,我的作业是 创建一个带有两个参数的剪刀石头布程序(石头, 纸)等,并返回获胜的 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/

有关ruby - 硬件不可能? : "Create a rock paper scissors program in ruby WITHOUT using conditionals"的更多相关文章

随机推荐