Skip to content

Instantly share code, notes, and snippets.

View mariussoutier's full-sized avatar

Marius Soutier mariussoutier

View GitHub Profile
@mariussoutier
mariussoutier / gist:3237595
Created August 2, 2012 14:49
repeat helper with index
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))
}
}
@mariussoutier
mariussoutier / gist:1669512
Created January 24, 2012 10:28
Edit user or display 404 Not Found in Play 2.0
UserDAO.findByEmail(email).map { user =>
Ok(views.html.edit(userForm.fill(user)))
}.getOrElse(NotFound("User not found!"))
@mariussoutier
mariussoutier / core.clj
Created November 18, 2011 08:54
Conway's Game of Life in Clojure
;;; 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]))
@mariussoutier
mariussoutier / gist:1376684
Created November 18, 2011 15:01
Game of Life in Scala
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
}
;; msoutier's solution to Interpose a Seq
;; https://4clojure.com/problem/40
(fn [s c] (butlast (mapcat #(list %1 s) c)))
;; msoutier's solution to Replicate a Sequence
;; https://4clojure.com/problem/33
(fn [c n] (mapcat #(repeat n %) c))
;; msoutier's solution to Pack a Sequence
;; https://4clojure.com/problem/31
partition-by identity
;; msoutier's solution to Duplicate a Sequence
;; https://4clojure.com/problem/32
#(interleave % %)
;; msoutier's solution to Drop Every Nth Item
;; https://4clojure.com/problem/41
(fn [coll n]
(keep-indexed #(if (not= 0 (mod (inc %1) n)) %2 nil) coll))
;; marius' solution to Compress a Sequence
;; https://4clojure.com/problem/30
#(map last (partition-by str %))