2
我該如何去創建一個數組數組,這樣可以繼續下去,在數組中添加數組等等,而不需要明確知道有多少數組可以包含數組?除此之外,出於好奇,是否可以使用數組更改類型,例如,如果我使用[「test」]創建數組,可以隨後將其更改爲[[「test」]]等等?無限擴大的陣列
任何有關數組如何嵌套等的綜合教程都很棒,但是目前還很難搜索到水晶主題。
我該如何去創建一個數組數組,這樣可以繼續下去,在數組中添加數組等等,而不需要明確知道有多少數組可以包含數組?除此之外,出於好奇,是否可以使用數組更改類型,例如,如果我使用[「test」]創建數組,可以隨後將其更改爲[[「test」]]等等?無限擴大的陣列
任何有關數組如何嵌套等的綜合教程都很棒,但是目前還很難搜索到水晶主題。
您可以使用遞歸別名爲這個(見alias
語言參考):
alias NestedArray = Array(NestedArray) | <YourArrayItemType(s)>
一個例子(carc.in):
alias NestedArray = Array(NestedArray) | Int32
array = [] of NestedArray
array << 1
array << [2, 3, 4, [5, [6, 7, [8] of NestedArray] of NestedArray] of NestedArray] of NestedArray
array << Array(NestedArray){Array(NestedArray){10, 11}}
array # => [1, [2, 3, 4, [5, [6, 7, [8]]]], [[10, 11]]]
關於第二個問題,我不知道你意思。您可以像這樣更改變量的類型:
array = ["test"]
array = [array]
array # => [["test"]]