上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。

case class Kid(name:String) class FunnyGame { var member = List[Kid]() def attend(kid:Kid) = { member = kid :: member } } object Suneo extends Kid("Suneo") { val game = new FunnyGame def attend(kids:List[Kid]) = { val list = tailingNobita(kids) list.foreach { kid => kid match { case Suneo => game.attend(Suneo) println(Suneo.name+":僕はもちろん参加ね。") case kid if kid != Kid("Nobita") => game.attend(kid) println(Suneo.name+":大歓迎だよ"+kid.name+"!") case kid => println(Suneo.name+":悪いな"+kid.name+"、このゲーム" +game.member.length+"人用なんだ。") } } } def tailingNobita(kids:List[Kid]):List[Kid] = kids match { case kid :: kids if kid == Kid("Nobita") => tailingNobita(kids) ++ List(kid) case kid :: kids => kid :: tailingNobita(kids) case Nil => Nil } } object ExceptNobita { def main(args:Array[String]) { val kidNames = List[String]() ++ args val kids = Suneo :: getKids(kidNames) Suneo.attend(kids) } def getKids(names:List[String]):List[Kid] = names match { case kid :: kids => Kid(kid) :: getKids(kids) case Nil => Nil } } |
$ scala ExceptNobita Nobita Gian Shizuka Suneo:僕はもちろん参加ね。 Suneo:大歓迎だよGian! Suneo:大歓迎だよShizuka! 悪いなNobita、このゲーム3人用なんだ。 |
$ scala ExceptNobita Shizuka Nobita Gian Suneo:僕はもちろん参加ね。 Suneo:大歓迎だよShizuka! Suneo:大歓迎だよGian! 悪いなNobita、このゲーム3人用なんだ。 |
$ scala ExceptNobita Shizuka Dekisugi Gian Sunetsugu Sunekichi Suneo:僕はもちろん参加ね。 Suneo:大歓迎だよShizuka! Suneo:大歓迎だよDekisugi! Suneo:大歓迎だよGian! Suneo:大歓迎だよSunetsugu! Suneo:大歓迎だよSunekichi! |
$ scala ExceptNobita Shizuka Dekisugi Nobita Gian Sunetsugu Sunekichi Suneo:僕はもちろん参加ね。 Suneo:大歓迎だよShizuka! Suneo:大歓迎だよDekisugi! Suneo:大歓迎だよGian! Suneo:大歓迎だよSunetsugu! Suneo:大歓迎だよSunekichi! 悪いなNobita、このゲーム6人用なんだ。 |
![]() | Scalaプログラミング入門 (2010/03/18) デイビッド・ポラック 商品詳細を見る |