2012-05-11から1日間の記事一覧

最長重複文字列問題 in Groovy

WEB+DB PRESS Vol.67 の最長重複文字列問題をやってみた。 もう少し前に実装していたのだけど takeWhile 待ちしている間に目的が変わってしまった。 Clojure や Scala では既に実装されている方がおられる。 WEB+DB PRESS Vol.67の最長重複文字列問題をCloju…

最長重複文字列問題 in Scala

Clojure 編につづき Scala 編へ Scala は Haskell の多くの関数が用意されているので Haskell からの書き換えるのには有利だ。 def makePair [T](xs: Seq[Seq[T]]) = xs zip xs.tail def comlen [T](p: (Seq[T],Seq[T])) = p.zipped takeWhile(x => x._1 == …

最長重複文字列問題 in Clojure

Clojure を学ぶ Groovy と Scala は Java の文化圏から生まれたものだが、Clojure は Lisp の文化圏から Java に入ってきたものだ。 関数の呼び出しが (関数名 引数1 引数2 ...) と前置記法で書いたリストであるところは Lisp だが、他の Lisp 系言語に比べ…