ここでは、2つの一連のハッシュを持つルビコードがあり、メソッドがあります。Ruby - 勝利方法の理解
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
これは何が私にこの勝利を説明することができますか?方法はありますか?そしてそれはこれに似ていますか?
def win?(first, second)
(first == 'sc' && second == 'p') ||
(first == 'p' && second == 'r') ||
(first == 'r' && second == 'l') ||
(first == 'l' && second == 'sp') ||
(first == 'sp' && second == 'sc') ||
(first == 'sc' && second == 'l') ||
(first == 'l' && second == 'p') ||
(first == 'p' && second == 'sp') ||
(first == 'sp' && second == 'r') ||
(first == 'r' && second == 'sc')
end
私は素人の用語やダミーがそのメソッドのために理解できるように説明を得ることができると思います。ごめんなさい。私は本当にあなたのアイデアが必要です。本当にありがとう!あなたが理解したいと思っています。
_ "これはこれに似ていますか?" - [win]が期待どおりに動作するように[テスト](https://en.wikipedia.org/wiki/Unit_testing)を書きます。可能であれば、[テストファースト](https://en.wikipedia.org/wiki/Test-first)と記入してください。 – Stefan