回答編集履歴
1
内容の修正
answer
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
var multi = Array((2,4,8),(3,6),(12))
|
3
3
|
```
|
4
4
|
このコードでは多次元配列にはなりません。
|
5
|
-
multiの各要素(2,4,8),(3,6),(12)は、それぞれタプルという型になります。
|
5
|
+
multiの各要素(2,4,8),(3,6),(12)は、それぞれタプルという型とInt型になります。
|
6
|
-
|
6
|
+
そこでmultiの型はそれらの型の共通のスーパークラスであるAny型を要素に持つ配列(Array[Any])だと推論されます。(ScalaではAnyはすべての型のスーパークラスです)
|
7
7
|
その結果、multi(a)はAny型のオブジェクトということになり、lengthやapplyを呼び出したときにエラーになるということです。
|
8
8
|
解決法はきちんと要素が配列になるようにArrayで囲うことです。
|
9
9
|
```Scala
|