bussorenre Laboratory

hoge piyo foo bar

Scala

Scala における末尾再帰

背景 S-99: Ninety-Nine Scala Problems 等の例題を説いていると、よく再帰による実装を見かけます。 確かに、 Scala関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド | Paul Chiusano, Rúnar Bjarnason, 株式会社クイープ | …

パターンマッチ

今日もScala。明日もScala。明後日もScala Programming in Scala 第15章 ケースクラスとパターンマッチ。 // Java における比較対象 switch ( <セレクター式>) { case: 選択肢1 case: 選択肢2 default: その他 } // Scala におけるパターンマッチ <セレクタ…

Scala におけるList の操作

Programming in Scala 第三版16章 リストの操作 言語によっても仕様が異なり混乱しやすいリスト。 Scala における 配列とリストの違いは リストはイミュータブルオブジェクトで、リストの要素は代入によって置き換えられない 内部的にはLinked List 配列と同…

Intelli J Idea でScalaを書く環境を整えてく(自分用)

業務用ということで、会社から Inteli J Idea を支給してもらった。この機会にぜひとも乗りこなしたい。 Emacs バインドをある程度使えるようにする Emacs使いのための IntelliJ IDEAキーマップ チートシート を参考にする。 Emacs+ Patched というプラグイ…

Scala における Unit型と副作用

C系とか Java 系みたいな、手続き型には無い(無くはないけどそんなに重要視されていない)概念に 作用と副作用がある。 関数型言語では、プログラムは値を返す存在とみなされる。 Programming in Scala においては 3.5 あたりに まずは、val、イミュータブ…

Hello world in Scala

どんな事もまずは世界に挨拶することから始まる。 Scala で 雑に Hello World を書くとこうなる。 object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, Scala world!") } } 基本的にScala は Java class コードに変換されるので、…

(雑談) Scala はじめました

夏の暑い時期に冷やし中華を始めるラーメン屋の如く、私もScala をはじめました。 最低限の知識だけで、可能な限りJVMの世界を避けてきたのですが、ついに通らずにはいられなくなったのですが、幸い 素のJava6 とかじゃなくて、scala の世界で戦えるのでそれ…