2008-01-01から1年間の記事一覧

引数なしのクロージャ

引数なしのクロージャをどう書くかについて・・・上記Blogの前日記事への みずしまさんのコメント => TypeName はメソッドの引数専用の修飾子のようなもので、引数が名前渡し(call-by-name)であることを指定するものです。実装的には関数を作って渡してるわ…

2.7.2 でのimplicit def (三たび)

http://d.hatena.ne.jp/ryugate/20081115#p1に関して、 lingrでmizusimaさんにもご協力いただいて調べたところ、結局は、 https://lampsvn.epfl.ch/trac/scala/ticket/1209 https://lampsvn.epfl.ch/trac/scala/ticket/801 にあるように、 # > An implicit c…

2.7.2 ではimplicit defを宣言するタイミングが重要

昨日の件http://d.hatena.ne.jp/ryugate/20081114#p2を、まとめてみた。まず、以下の様なソースがある。 class ExString(val str:String) { def plushoge = str + "-hoge" } implicit def str2exstr(str:String) = new ExString(str) class SomeClass { def …

ScalaSwingを使ってみた

めでたく、2.7.2.finalもリリースされたことなので、 ScalaSwingを使ってみた。サンプルを参考に 任意のファイルを、指定して何らかの処理をするツールのGUI部分だけを書き直した。 import java.io._ import swing._ import swing.event._ import javax.swin…

2.7.2からImplecit defする順番が重要になっている模様・・・

要は、実際にimplecit defが宣言されるより前のコードにおいては宣言が無効になっているような感じです。 詳しくは、後で書きます。

私はINTP

だそうです。via. http://www32.ocn.ne.jp/~emina/

Scala勉強会@東北

なんと週一ペースで開催中!! おお!! 素晴らしい!詳細はこちら→http://sites.google.com/site/scalatohoku/Home

勉強中

ようやく、時間が出来始めた。 「よーし勉強するぞ!」ってな感じで、 やる気があるのはいいが、少々発散ぎみ。今、かじってみてるのは・・・ Objective-C + Cocoa iphone SDK VMware ESXi 今後の予定は、 Smalltalk Netbean 6.5 + Scala plugin

ライフゲームみたい

な、雷雲の活動を見る <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>rain</title> <script language="JavaScript"> // var urlbase…</head></html>

無限の住人

大変残念ながら、スルー ><

ゴンゾウ

おもしろい!!!!

鉄腕バーディー

ギリギリ首の皮一枚っ!

テスト大切!!!!

今、改めて言ってみる。(^^;

正規表現で変数束縛

id:ryugate:20080528 の続き・・・ ふとおもって、実験してみた。 scala> val ptn = "([0-9]+).*".r ptn: scala.util.matching.Regex = ([0-9]+).* scala> val ptn(x) = "123hoge" x: String = 123おぉ、出来るのね。で、こっちは scala> val ptn(x) = "hoge…

6月13日 Scala勉強会@豆蔵の資料

を、アップしました。 「6月13日 Scala勉強会@豆蔵の資料」 デス。

lazy

val するときにつけると、参照されるまで右辺の評価が「遅延」する。簡単な例 var i = 0 def countup = {i = i + 1; i} def reset = {i = 0; i} def test { lazy val a = countup lazy val b = countup lazy val c = reset lazy val d = countup lazy val e …

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

Wiiリモコン買っちった (*^_^*)

WiinRemote超便利赤外線発生装置は、マグライトに発光ダイオード直ざしが手軽

RemoteActorを使うときの注意

対話モードで実験しているときは良かったのだが、 いざコンパイルして使おうとすると、RemoteActor.classLoaderに明示的にクラスローダを入れてやらないと、 外部から接続出来ないみたいです。via http://www.nabble.com/Re:--scala--Remote-Actors.-p147153…