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

object を継承して作る

時に、 class Human(val name:String) { def hello = "Hi! I'm " + name + "." } object Taro extends Human("Taro") object Hanako extends Human("Hanako") println(Taro.hello) println(Hanako.hello)とかできるのね。なんとなく書いてみたらできたのでび…

TimeのRange#stepを使うときのTIPS

たとえば、ある日「X」からある日「Y」まで、一日ごとの日付の入った配列を作りたいとき。単純に (stdate..eddate).step(3600*24).to_a.map{|t| t.strftime('%Y/%m/%d')}とすると、すごく遅い。そこで、 (stdate.to_i)..(eddate.to_i)).step(3600*24).to_a.m…

可変長引数の取り扱い

単純に scala> def sprintf(fmt:String, args:Any*) = String.format(fmt, args) sprintf: (String,Any*)java.lang.Stringだと scala> sprintf("%d,%d", 1,2) java.util.IllegalFormatConversionException: d != scala.runtime.BoxedObjectArray at java.uti…

Ruby の OptionParser ライクな Commons-CLI のラッパを書いてみた

定番コマンドライン引数解析ライブラリ Commons-CLI(ver1.2)を使ってみた import org.apache.commons.cli._ class NoSuchConfigFileException extends RuntimeException var testMode = false var configFilename:String = null var exAttachFiles = Array[S…

JavaMailのラッパを書いてみた。

ひとまず object Mail { import java.util._ import java.io._ import javax.mail._ import javax.mail.internet._ import javax.activation._ def body(text:String) = new MimeBodyPart { setText(text , "iso-2022-jp") } def attachFile(filename:String…