src/caves/utils.clj @ 46c1c8ca77ff
default tip
Added tag entry-07-1 for changeset b7c4387ab701
author |
Steve Losh <steve@stevelosh.com> |
date |
Sat, 13 Oct 2012 16:30:19 -0400 |
parents |
3152de9c4d38 |
children |
(none) |
(ns caves.utils)
; lolclojure
(defn abs [i]
(if (neg? i)
(- i)
i))
(defn map2d
"Map a function across a two-dimensional sequence."
[f s]
(map (partial map f) s))
(defn slice
"Slice a sequence."
[s start width]
(->> s
(drop start)
(take width)))
(defn shear
"Shear a two-dimensional sequence, returning a smaller one."
[s x y w h]
(map #(slice % x w)
(slice s y h)))
(defn enumerate [s]
(map-indexed vector s))