読者です 読者をやめる 読者になる 読者になる

個人的自由ノート

ふと自分が気になった事を書いてます

Scala シングルトンオブジェクト等々

なかなか難しいですが、色々プログラムを作っていたりすると馴染みのある表現が出てきます。言語経験が豊富な人にはわかりやすいかもしれません。 Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101). Type in expressio…

Scala クラス

Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_05). Type in expressions for evaluation. Or try :help. scala> class Programmer{ | var language = "Scala" | def coding() = println(language + "を使ってコーディングします…

Scala カリー化

Haskellも時期にやりたいと思っていますが、まずはScalaから。Kindle本を再読しています。今回は、カリー化について見ていきました。 Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_05). Type in expressions for evaluation. Or…

Scala プレースホルダ構文その2

プレースホルダ構文を使用するには、引数を「_」(プレースホルダを示す記号)として推論出来るだけの情報が必要です。関数オブジェクトの型を指定するか、下記のように関数リテラル内でプレースホルダの型を指定することで使用できるようになります。 scala…

Scala プレースホルダ構文

今までは以下のように関数を定義して使っていました。 scala> val func: (Int, Int) => Int = (x:Int, y:Int) => x + y func: (Int, Int) => Int = <function2> 引数が関数リテラルの中で一度しか使用されない場合、「プレースホルダ構文」を使用することで、関数リテラ</function2>…

Scala 可変長引数

Rubyのような柔軟さがありますね。 scala> def showMessages(args: String*) = for(arg <- args) println(arg) showMessages: (args: String*)Unit scala> showMessages() scala> showMessages("hello") hello scala> showMessages("hello","Scala") hello S…

Scala 高階関数

高階関数です。関数を戻り値として返したりする関数を「高階関数」と呼んでいます。以下の様な感じです。 scala> def getFunc(str:String):(Int,Int) => String = (x:Int,y:Int) => str + (x + y) getFunc: (str: String)(Int, Int) => String scala> val f …

Scala for式

「Guide to Scala - Scalaプログラミング入門」を復習しています。まずはfor式から。 scala> val listItems = List("Scala","Java","Ruby") listItems: List[String] = List(Scala, Java, Ruby) scala> for(item <- listItems) println("item = " + item) it…