def rps_tournament_winner(tournament)
for i in 0..1 do
if tournament[i][1].is_a? Array then
rps_tournament_winner(tournament[i])
else
tournament=rps_game_winner(tournament)
return
end
end
return tournament
end
これは、Ruby操作アレイ
rps_game_winner
で岩紙はさみ実装の一部である
[ ["Allen", "S"], ["Omer", "P"] ]
最初の要素の形式で2つの配列の配列を受け取り第2の要素は彼らの決定であり、勝者を返す。
rps_tournament_winner
は私がやろうとしています何
[
[
[ ["Armando", "P"], ["Dave", "S"] ],
[ ["Richard", "R"], ["Michael", "S"] ],
],
[
[ ["Allen", "S"], ["Omer", "P"] ],
[ ["David E.", "R"], ["Richard X.", "P"] ]
]
]
のように任意の深さでネストされた配列の入力を取る関数が進行するが、それは入って来たように、入力が出てくるように、元の入力を変更しています。グローバル変数を組み込むことは解決策ですが、これはオートグレーダーで格付けする作業です。私はそれを関数に直接入力し、出力をそのオプションではなく比較するつもりだと思います。あなたの元のコードと
@ニクラスBもちろん、これはRubyなので、オブジェクトを使うのは不可能です*;)。 (私はクラスを意味すると思いますが、私はちょうどペタニックです) –
@Andrew:もちろん、私は目的に合ったタイプのオブジェクトを意味していました;) –