This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def time[T](block: => T): T = { | |
val start = System.currentTimeMillis | |
val res = block | |
val totalTime = System.currentTimeMillis - start | |
println("Elapsed time: %1d ms".format(totalTime)) | |
res | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package views.html.helper | |
import play.api.templates.Html | |
object definingNonEmpty { | |
def apply[T <: Seq[_]](t: T)(block: (T) => Html) = { | |
if (t.nonEmpty) block(t) else Html("") | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package views.html.helper | |
import play.api.templates.Html | |
object repeatWithIndex { | |
def apply(field: play.api.data.Field, min: Int = 1)(f: (play.api.data.Field, Int) => Html) = { | |
(0 until math.max(if (field.indexes.isEmpty) 0 else field.indexes.max + 1, min)).map(i => f(field("[" + i + "]"), i)) | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
UserDAO.findByEmail(email).map { user => | |
Ok(views.html.edit(userForm.fill(user))) | |
}.getOrElse(NotFound("User not found!")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package keeponlyalive | |
/** A cell that exists is alive */ | |
case class Cell(x: Int, y: Int) { | |
def survives(implicit world: Set[Cell]) = neighborCount(world) match { | |
case 2 => true | |
case 3 => true | |
case _ => false | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; Conway's Game of Life | |
;;; Using a set of coordinates to provide a infinite world | |
;;; | |
;;; Moritz Ulrich <ulrich.moritz@googlemail.com> | |
;;; Cologne Clojure User Group | |
;;; November 17, 2011 | |
(ns game-of-life.core | |
(:use [clojure.set :as set])) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; msoutier's solution to Interpose a Seq | |
;; https://4clojure.com/problem/40 | |
(fn [s c] (butlast (mapcat #(list %1 s) c))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; msoutier's solution to Replicate a Sequence | |
;; https://4clojure.com/problem/33 | |
(fn [c n] (mapcat #(repeat n %) c)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; msoutier's solution to Pack a Sequence | |
;; https://4clojure.com/problem/31 | |
partition-by identity |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; msoutier's solution to Duplicate a Sequence | |
;; https://4clojure.com/problem/32 | |
#(interleave % %) |