2008-05-01から1ヶ月間の記事一覧

Regex#unapplySeq

scala.util.matching.Regex に unapplySeq があるので、match を使うと綺麗にパターンマッチで書ける...? どなたか教えていただけませんか。 http://www.lingr.com/room/scala-ja/archives/2008/05/28#msg-38517596 を受けて、少し実験してみた。 scala> "ab…

flatMap

(再び、mizushimaさん@Lingrより)flatMapとは (計算の)「結果「である」コレクションを連結した新しいコレクションを返」すmap である。例えば、 List(1, 2, 3).map{i => List(i, i + 1)} の結果は List(List(1, 2), List(2, 3), List(3, 4)) になりま…

'a' to 'c' (RichChar#to)

先日の記事 2008-05-25 - ryugateの日記 中の scala> for (i <- 1 to 2 ; c <- 'a' to 'c') yield (i,c)は、失敗するのだけれど。 scala> for (i <- 1 to 2 ; c <- ('a' to 'c').toList) yield (i,c)なら、うまくいく。 ことについて、 またしてもlingrでmiz…

for comprehension(for内包表記)

について・・・ forの中でyieldが使われるとfor構文全体がコレクション(ないしはイテレータ)として値を持ち、 個々の要素がyieldの右辺の値となる。 これを「for comprehension(for内包表記)」という。 http://www.thinkit.co.jp/cert/article/0711/4/3/…

Implicit Parameters

"Scala By Example" http://www.scala-lang.org/docu/files/ScalaByExample.pdf の15章から Implicit Parameters について、やっと理解した。 まず、以下のような抽象クラスがある。 abstract class SemiGroup[A] { def add(x: A, y: A): A } abstract cla…

新しいScalaPlugin

パーサコンビネータを勉強するにあたって、新しいeclipseのプラグインを試してみる。 今回はhttp://scala-lang.org/downloads/scala-plugin-betaからとってきたものを利用した。まだ、ちょっとおかしなとことはあるが、 だいぶ完成度が上がってきた感じ やは…

パーサコンビネータ再び

inforno :: Scalaでスタック指向言語をサクッと実装する という、2.6.0以降に導入された新しいパーサコンビネータを使った記事があったのに触発されて、 再びパーサコンビネータにチャレンジしてみる。 題材は、以前と同じ「CSVパーサ」 とりあえず、上記サ…

シンタックスシュガーの展開後の確認方法

val seq = for(x 実は,map,flatMap,filterのシンタックスシュガーらしい.どーいう風に展開されてるのか,知りたい.http://d.hatena.ne.jp/matt-k/20080511#p2 について・・・実はすでに、mizushimaさんが : 展開結果は (1 to 100).flatMap{ case x => …

printfやformat

via. http://cappuccino.jp/keisuken/logbook/20080512.html#p012.7.1.finalから、 scala.Console(ひいてはscala.Predef)の関数printfやformatが、 java.util.Formatter を使うようになったらしい。これで、慣れ親しんだ、書き方が出来る。 printf("%-10s,…

LingrRadar もどきを作り始めてみた

とりあえず、超適当版はこんな感じ object lingr_test { import scala.io._ import scala.xml.parsing._ import scala.util.DynamicVariable import jp.ryugate.net.Http val LINGR_SERVER = "www.lingr.com" val APIKEY = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…

Ubuntu 8.04にVmwarePlayerをインストールする

のに、ちょっとはまって、ここ http://fun.poosan.net/sawa/index.php?UID=1209464164 に救われる。(^^

JJUG CCC

予想を超えて、大盛況でした。 Scalaきますね!これは。あわせて、発表資料をアップしました。 http://cappuccino.jp/scala-ja/?%BB%F1%CE%C1%B4%DB