2016-07-08 1 views
0

これは配列です:Rubyメソッドを使用してネストされた配列またはサブアレイの値にアクセスする方法は?

array = [ 1, 2, 3, [4, 5, 6] ] 

は、私が "5" を削除し "delete_at" メソッドを使用することはできますか?

array.delete_at[x] method 

正しい構文は何ですか?

+0

'配列[3] .delete_at(1)'? – potashin

+2

'array [3] [1]'(その値が何であれ)要素を削除したいのですか、 '5'を削除したいのですか?特定の構造)? –

+0

あなたは結果が欲しいものを示してください。 –

答えて

3

あなたの「配列」には4つの要素しかありません。それはあなたがおそらく「配列」配列の4番目の要素だ部分配列の第二の要素を削除すること

array[3].delete_at(1) 

ような何かを行う必要がありますサブアレイのなら。

+0

それは動作します - ありがとう! –

-2

ようこそスタックオーバーフロー!

これは長くて効率的ではありませんが、位置(配列インデックス)ではなく値で削除する項目を選択することができます。あなたがそのポジションを知らないときは、それは便利です。

array.map {|x| x.delete(5) if x.instance_of?(Array); x} 
+0

それは動作します - ありがとう! –

+0

ようこそ。 – BrunoFacca

-3

ボーナス!

は、ここに1つの以上のレベルを持つ配列が追加されます: '7' を削除する方法については

testarray = [ 1, 2, [ 3, 4, 5, [ 6, 7, 8 ] ] ] 

と構文:

testarray[2][3].delete_at(1) 
+0

これをコメントとして書き込みます。 – sawa

関連する問題