Ruby Language
Multidimensionella matriser
Sök…
Introduktion
Multidimensionella matriser i Ruby är bara matriser vars element är andra matriser.
Den enda fången är att eftersom Ruby-matriser kan innehålla delar av blandade typer måste du vara säker på att matrisen som du manipulerar effektivt består av andra matriser och inte till exempel matriser och strängar.
Initierar en 2D-grupp
Låt oss först sammanfatta hur man initierar en 1D rubinuppsättning av heltal:
my_array = [1, 1, 2, 3, 5, 8, 13]
Att vara en 2D-grupp helt enkelt en matris med matriser, du kan initialisera det så här:
my_array = [
[1, 1, 2, 3, 5, 8, 13],
[1, 4, 9, 16, 25, 36, 49, 64, 81],
[2, 3, 5, 7, 11, 13, 17]
]
Initiera en 3D-grupp
Du kan gå en nivå längre ner och lägga till ett tredje lager av matriser. Reglerna ändras inte:
my_array = [
[
[1, 1, 2, 3, 5, 8, 13],
[1, 4, 9, 16, 25, 36, 49, 64, 81],
[2, 3, 5, 7, 11, 13, 17]
],
[
['a', 'b', 'c', 'd', 'e'],
['z', 'y', 'x', 'w', 'v']
],
[
[]
]
]
Få åtkomst till en kapslad matris
Åtkomst till det tredje elementet i den första delgruppen:
my_array[1][2]
Array utplattning
Med tanke på en flerdimensionell matris:
my_array = [[1, 2], ['a', 'b']]
operationen med plattning är att sönderdela alla matrisbarn till rotfältet:
my_array.flatten
# [1, 2, 'a', 'b']