質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

解決済

2回答

1444閲覧

scalaの配列

CCLVI256cg

総合スコア21

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

0クリップ

投稿2015/12/26 20:33

scala

1val a=Array[Int](n) 2a(m)=true

とやることができないのですが他に方法はありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Int の配列に true を代入することはできないと思います。
scala を会話的に実行させてみました。

$ scala Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_66). Type in expressions to have them evaluated. Type :help for more information. scala> var n = 10 n: Int = 10 scala> var m = 3 m: Int = 3 scala> var a = new Array[Int](n) a: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0) scala> a(m) = 3 scala> a(m) = true <console>:14: error: type mismatch; found : Boolean(true) required: Int a(m) = true ^

treu/valse を設定したいなら、Boolean の配列にすることが必要です。

scala> var a = new Array[Boolean](n) a: Array[Boolean] = Array(false, false, false, false, false, false, false, false, false, false) scala> a(m) = true scala> a res3: Array[Boolean] = Array(false, false, false, true, false, false, false, false, false, false)

投稿2015/12/26 22:18

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CCLVI256cg

2015/12/26 23:59

これだとintで配列の大きさは指定できないということですか?
argius

2015/12/27 00:19

Scala的には、varよりもvalの方が良いのではないでしょうか?
CCLVI256cg

2015/12/27 00:25

あ間違えました。なんでもないです
guest

0

scala> val arr = new Array[Any](5) arr: Array[Any] = Array(null, null, null, null, null) scala> arr(0) = 1 scala> arr(1) = false scala> arr res13: Array[Any] = Array(1, false, null, null, null)

のような感じでできそうですが、immutableな実装が好ましいと思います。

scala> val x = List(1,true) x: List[AnyVal] = List(1, true) scala> x(0) res16: AnyVal = 1 scala> x(0) = 2 <console>:9: error: value update is not a member of List[AnyVal] x(0) = 2

投稿2016/04/15 17:09

Keita-N

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問