配列から特定の値を削除するための削除methodsはすべて、指定された値のすべてのインスタンスを削除するようです。その立場を知らないと、どうすれば1つのインスタンスだけを削除できますか?Rubyの配列から値のインスタンスを1つだけ削除するには?
foo = 4,4,3,2,6
foo -= [4]
p foo # --> [3, 2, 6]
I(4)
I値のインスタンスがその中に存在する場合に識別およびインスタンスの数をカウントする配列を照会することができfoo.deleteと同じ結果を得る:
foo = 4,4,3,2,6
foo.include?(4) # <-- true
foo.count(4) # <-- 2
例えば、ダイスロールのアレイはヤッツィーのゲームのために作られた、場合:
roll_1 = Array.new(5) {rand(1..6)}
とresulプレイヤーは[4、4、3、2、6]のいずれかを選び、ストレートには2、3、& 4のいずれかを選びます。プレイヤーが1つのストレートに対して4つのストーリーを保持したい場合、値が配列内にあると確認されるように、この単一のインスタンスをどのように選択できますか?
これはやってみましょう。条件の記述を書いたので、私はそれが二重の機能であることに気づいたはずです - ありがとう! –
@ Mr.Kennedyそれはもっと優雅なRuby-ishの方法がないというのは奇妙なようですが、これはやる必要があると思います! – mwp
それは私だけではないと聞くのは良いです。私は(明らかに)Rubyを初めて知っていますが、特にこれを見てからです:https://youtu.be/3wIDoPmmpdoもっとRubyiciousなソリューションがあると思いました。 –