我这里有一个ruby代码,它有两个哈希系列,并且有方法。
spark.files.userClassPathFirst
那里有谁可以解释我这场比赛的胜利?方法呢?它与此类似吗?
VALID_CHOICES = {
'r' => 'rock',
'p' => 'paper',
'sc' => 'scissors',
'l' => 'lizard',
'sp' => 'spock'
}
WINNING_COMBO = {
'r' => ['sc', 'l'],
'p' => ['r', 'sp'],
'sc' => ['p', 'l'],
'l' => ['sp', 'p'],
'sp' => ['sc', 'r']
}
def win?(first, second)
WINNING_COMBO[first].include?(second)
end
我希望我可以通过外行的术语或假人能够理解该方法的方式得到解释。对不起我在这里。我真的需要你的想法。非常感谢!希望你明白。
答案 0 :(得分:1)
第一部分WINNING_COMBO[first]
会在WINNING_COMBO
中查找其中一个条目。例如,如果first
为“r”,那么这将返回数组['sc', 'l']
:
WINNING_COMBO['r']
#=> ["sc", "l"]
...然后我们检查该数组是否包含second
的值,因此对于值“sc”或“l”,这将是真的:
WINNING_COMBO['r'].include?('sc')
#=> true
WINNING_COMBO['r'].include?('l')
#=> true
这相当于较长的win?
方法,所有获胜组合都列为个别条件。
答案 1 :(得分:-1)
WINNING_COMBO[first]
这将获得获胜组合的第一个参数
include?(second)
获取获胜组合的第二个参数。