Scala

メモ

ときどきの雑記帖 i戦士篇 Python遣いのためのScala入門 その1 (Scala for Pythonistas: Part 1) (http://www.kt.rim.or.jp/~kbk/zakkicho/08/zakkicho0809c.html#D20080929-6) Scala for Pythonistas: Part 2 (http://finitestate42i.blogspot.com/2008_09_…

ScalaからGroovyへ

昨日前の会社の先輩からGroovyという言語を教えてもらった。以下Wikipedia(http://ja.wikipedia.org/wiki/Groovy)からの引用。 その他、Python、…などからも言語機能が取り込まれている。 Groovyではコードブロックをファーストクラス(一級市民)オブジェク…

Scala-tutorial.pdf

みずしまさん作成のScala-tutorial.pdf資料を見たがよくまとまっており非常に分かりやすい。しかし、ScalaはJava、Ruby、関数言語(Haskell、OCamlなど)が好きな人は親近感を覚える言語ではないかと思った。C++、Pythonが好きな人は毛色が違う言語である気が…

Scala勉強会

Onion開発日記: Scala勉強会 日程 (http://www.coins.tsukuba.ac.jp/~i021216/diary/?date=20080408#p01) 出席したい。東大って秋葉にもあったんだ…。

Sequence Comprehensions

シーケンス内包表記?は、以下のように書ける。 scala> for (i <- List.range(1, 10) if i % 2 == 0) yield i res1: List[Int] = List(2, 4, 6, 8) 以下のように使用することができる。 scala> val L = for (i <- List.range(0, 10) if i % 2 == 0) yield i …

関数定義

ryugateの日記: 関数定義について (http://d.hatena.ne.jp/ryugate/20080117#p2) def hoge() { "hoge" }とdef piyo() = { "piyo" }の違いはdef hoge() { "hoge" }は返り値が無い。 なるほど。Scalaは複数の書き方ができるので、どれを使うべきか迷う。関数定…

implicit

航海日誌: 型変換する事によって,機能を拡張する (http://cappuccino.jp/keisuken/logbook/20080217.html#p01) なるほど。implicitってこう使うのか。しかしimplicitを意識していない人には黒魔術的だなあ。Scala使用する場合は、暗黙の型変換のパターンを…

箱モデルと名札モデル

d.y.d: auto (http://www.kmonos.net/wlog/83.html#_1547080311) 変数に「オブジェクトに名前を付けるもの」と「式に名前を付けるもの」に関して、 前者の感覚で使う変数もあれば後者の感覚で使う変数もあって、みんな、基本的には前者なら型を書くし後者な…

cons, car, cdr

リストのcons, car, cdr。 scala> 1 :: List(2, 3) // cons res0: List[Int] = List(1, 2, 3) scala> List(1, 2, 3).head // car res1: Int = 1 scala> List(1, 2, 3).tail // cdr res2: List[Int] = List(2, 3) もちろん、配列は不可能。 scala> 1 :: Array…

たくさん型を作ることが推奨

yukobaの日記: Scala, JavaScript, Java の違い (http://d.hatena.ne.jp/yukoba/20080211) Scala はたくさん型(クラス)を作ることが推奨されている言語です。...(snip)...ちょっとでも何か違う時は型を作り、複雑な問題は型を変えることで、より小さな簡単…

メモ

今鋭意勉強中なのでまだ良く分かっていないが、とりあえずメモ。面白そう。 yukobaの日記: ナップサック問題をHaskellとScalaで (http://d.hatena.ne.jp/yukoba/20080202/p1)