これはどのように可能ですか?私は、新しいアレイ...まだM(0)10 の値を有し、M(1)であると、ArrayIndexOutOfBounds例外...Scala配列宣言 - apply(0)の直感的な結果
答えて
Array[Int](10)
を作成したものとの配列を作成していません要素、10
。それを確認するhere
なお、Scalaでは、例外を意識することなく直接配列要素にアクセスするべきではありません。
scala> val array = Array(10)
array: Array[Int] = Array(10)
scala> array.drop(5).headOption
res0: Option[Int] = None
が
* Scala(およびその他のFP言語)では、配列要素に直接アクセスしないでください。*配列要素に直接アクセスしないでください。 –
さらに、5番目の要素にアクセスするには 'array.lift(4)'だけで安全です。最初の5つ目のコードアクセスは6番目に落ちます。 –
はい、私の誤字は6番にアクセスしています。私は '.lift'を知りませんでした。ありがとう:) – pedrorijo91
val m = Array[Int](10)
は10
が変数m
結合した1つの要素を持つタイプInt
の配列を意味し、たとえば5番目の要素にアクセスするために:私は何かのように好むだろう。 m(n)
は、m
のn番目の要素を意味します。
なぜm(1)
があなたにArrayIndexOutOfBoundsを与えるのですか?mには1つの要素しかありません。
配列の奇妙なJava構文と混ざっていますか? int[] m = new int[10];
初期化されていない要素配列が10個あります。
いいえ、私は単にコースに従っていたので、私はそれを混ぜていませんでした。今ここでは、新しい単語が配列の前に追加されている場合は、次に、ゼロに初期化された10個の要素を持つ配列を宣言することを目的とした目的の効果が得られます。スカラは奇妙です。 – Beezer
これは、 'Array(10)'だけでArrayオブジェクトの 'Array.apply'メソッドを呼び出すためです:http://www.scala-lang.org/api/current/#scala.Array$、' new Array (10) 'はArrayクラスのコンストラクタを呼び出します:http://www.scala-lang.org/api/current/#scala.Array – pedrofurla
しかし、正直言って、私は' new Array'をあまり使わないようです。実際にはそれが存在するのを忘れていた。 – pedrofurla
- 1. の保存は非直感的な結果
- 2. javascript/jquery動的オブジェクト配列の宣言
- 3. Strcpy()配列宣言?
- 4. c#配列宣言構文vs C++配列宣言構文
- 5. 直感的にこの4Dインデックス配列を説明する
- 6. NSPredicateの直感的な振る舞い
- 7. ポインタ宣言とCの有限配列宣言
- 8. 2次元配列のカラム長を0と宣言する
- 9. WindowとSelectManyの直感的な説明
- 10. 配列サイズの宣言
- 11. 配列宣言の問題
- 12. 配列の型宣言
- 13. 直感的なウェブサイトのオーナー確認
- 14. 直感的なUnboundLocalErrorビヘイビアの理由2
- 15. 配列宣言文字列を書く
- 16. Cで多様な2D配列を動的に宣言する
- 17. JAVA、配列値の宣言方法は?
- 18. Pythonインデントが直感的ではない
- 19. 配列宣言のPHPスプレッド演算子
- 20. プログラミング言語は直感的であるべきですか?
- 21. 迅速なレルム結果の宣言方法
- 22. 文字列宣言のクリスタル配列
- 23. cの文字列配列宣言
- 24. 選択PHPのmysqlの、配列結果配列結果
- 25. TypeScript型付き配列宣言エラー
- 26. scala:関数宣言との照合
- 27. cでのサイズ配列の宣言
- 28. Javaの配列の宣言の混乱
- 29. SQLAlchemy - 宣言的なもの
- 30. 関数内の動的配列を宣言する
デフォルト値(プリミティブでは '0' /' false'/'\ 0'、オブジェクトでは' null')に初期化されたサイズ10の配列を作成するには、 'Array.ofDim [Int](10) '。 –