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

ClojureでTwitter4jしてみた。(で、ちょっとハマったことなど・・・)

Twitter4j を試してみた。参考はこのページ「コード例」まずは、ステータスの更新 (import '(twitter4j Twitter)) (def id "hogehoge") (def pw "piyopiyo") (def twitter (new Twitter id pw)) (def status (. twitter updateStatus "test tweet (by twitte…

関数内に補助関数を作り、その中で親関数の引数を利用した場合の挙動の比較

Project Euler の Problem-5 をClojureに移植していたらハマった・・・Scala版 def problem5(m:BigInt):BigInt = { def checkloop(n:BigInt, s:BigInt):BigInt = { if (n % m == BigInt(0)) n else checkloop(n+s, s) } if (m == BigInt(1)) m else { val ne…

CaseClassをMapのキーとして使う場合

via 2ch 「プログラミング言語 Scala 3冊目」まず「caseクラス」について簡単に説明すると・・・ Scalaでは、「class」の前に「case」とつけるだけで以下の3つの特典がついてくる。 インスタンスを作るときに「new」がいらなくなる。 パラメータリストに「…

一定時間ごとに何かする Actor

普通に書くと、sleepしている間は何もできなくなるし、 コップ本にもブロックするなと書いてあったので、 ヘルパーActorを使って書いてみた。 import scala.actors.Actor import scala.actors.Actor._ def makeTimerActor(func: => Any) = actor { var valid…

Fizz Buzz 再び

ScalaでFizz Buzz - 不悔必省からトラックバックを頂いたこともあり、 改めてFizz Buzzを書いてみた・・・ シンプル版 これは上記リンク先のとほとんど同じだが、この場合"n match"の部分は省略できる。 (1 to 100).map { case n if (n%3 == 0) && (n%5 == 0…