Readme腐ってる
Linux,Macなら、
http://help.github.com/set-your-user-name-email-and-github-token/
の通りに設定すればOK
Windows環境はgit.exeにパス通していれば、同じ設定を行えば良いが、
そうでない場合は
GITHUB_USERとGITHUB_TOKENの環境変数を定義してあげればOK
2012年2月22日水曜日
2012年2月14日火曜日
scalaで簡単Proxyクラス実装。
ProxyデザインパターンやDecoratorデザインパターンを使いたいことがよくあると思いますが、いちいちすべてのメソッドを実装するのはめんどくさいですよね?
そんな時に便利なscalaの実装を紹介
Companion objectにimplicit conversionを指定しておくだけで完了。
あとは、ProxyしたりDecorateしたりしたいメソッドを定義してやるだけでOK。
使い方はこんな感じ
そんな時に便利なscalaの実装を紹介
class User(var id : Long,var name : String,var gender : Int)
class ProxyUser(private val user : User){
def name : String = if(gender == 1) "Mr. " + user.name else "Ms. " + user.name
}
object ProxyUser{
implicit def toUser(proxyUser : ProxyUser) = proxyUser.user
}
Companion objectにimplicit conversionを指定しておくだけで完了。
あとは、ProxyしたりDecorateしたりしたいメソッドを定義してやるだけでOK。
使い方はこんな感じ
val pu = new ProxyUser(new User(1,"Taro",1))
println("ID:" + pu.id)
println("name:" + pu.name)
pu.name = "Joro"
println("name:" + pu.name)
> ID:1
> name:Mr. Taro
> name:Mr. Jiro
2012年2月13日月曜日
Squerylでunion
scalaのO/R mapperのSquerylでunionを行う方法
複合Keyとかでin句が使えない場合のunion構文の実装方法のメモ
Queryクラスのunionメソッドを使います。
複合Keyとかでin句が使えない場合のunion構文の実装方法のメモ
Queryクラスのunionメソッドを使います。
val table = Table[CompositeKey2Object]
val ids = List( (1,2),(1,3),(2,5) )
inTransaction{
def toQuery( id : (Int,Int) ) = {
from(table)(t => where( (t.pk1 === id._1) and (t.pk2 === id._2)))
}
ids match{
case id :: tails => {
ids.foldLeft(toQuery(id))( (query,id) => query.union(toQuery(id))).toList
}
case _ => Nil
}
}
登録:
投稿 (Atom)