contentRainbowDevilsLandけんじの外部記憶です。kenji最近Scalaを使うようにしていますが、なんだかうまく使いこなせていない感があります。それはScalaをしっかり理解していないことから来る不安感なので、飛ばし飛ばし読んだコップ本を再度すみからすみまで読み直してしっかり理解しようと考えています。そこで、毎日コップ本を少しずつ進めていこうと思います。このブログには勉強したことを自分用にメモした内容を書いていきます。基本型Scalaの基本型はJavaと同じです。intやlongなど互換性のためJavaと同じ型が使えますが、Int、LongとScala用の型を使う方が良いです。それぞれscala.Int、scala.Long型が完全名です。String型だけはJavaでもクラスなのでJavaと同じjava.lang.Stringです。scalaパッケージとjava.langパッケージは自動的にimportされるのでそれぞれimportの必要はありません。リテラルJavaと同じです。35lShortとByteは型を指定した上で範囲内の整数値を指定します。範囲外を指定するとエラーになります。32768浮動小数点もJavaと同じです。10.0文字、文字列もJavaと同じです。hogeScalaではより便利な文字列リテラルが使えます。println(“””|hogehoge|fugafuga”””)hogehogefugafuga|を先頭に入れることでインデントを入れてもインデントは無視されるようになります。この章には無いですが、s”i=$i”と文字列リテラルの頭にsを付けることで加工文字列リテラルとする事ができます。(これは便利!)演算子はメソッドScalaの演算子はすべてメソッドです。2としても、内部ではInt型1が持つメソッド+に、パラメータとして2を指定して実行するという意味になります。省略せずに書くと1.+(2)ですね。この記法は中置記法と呼び、パラメータを一つ取るメソッドはすべて中置記法が使えます。“hoge”.indexOf(‘g’)も次のように中置記法が使えます。2前置演算子Scalaでは、-10も10にunary_-と言う名前のメソッドを実行すると言う意味になります。取らないメソッドは空括弧を省略でき、またドットを省略することもできます。ドットを省略した場合後置演算子となります。hogeScalaの慣習では副作用を持つメソッドの実行は空括弧を記述し、副作用を持たないメソッドの実行は空括弧を省略します。オブジェクトの等価性Javaでは==は同じインスタンスかどうかをチェックしますが、Scalaの==はequals呼び出しとなり、等価性をチェックします。Javaの==のような同じインスタンスかどうかをScalaでチェックしたい場合は、eqメソッドを使います。Replyコメントを投稿するには、下の計算の答えを入力する必要があります。答えは半角数字で入力してください。