Skip to content

Instantly share code, notes, and snippets.

@skatenerd
skatenerd / list_tests.rb
Last active August 29, 2015 13:57
list tests
class LinkedList
class Node
attr_accessor :value, :next_node
def initialize(value, next_node = nil)
@value = value
@next_node = next_node
end
end
@skatenerd
skatenerd / default_args.clj
Last active August 29, 2015 13:57
thank you colin jones
(defmacro def-defaults [name args defaults & exprs]
`(defn ~name [~@args & {:keys ~(vec (keys defaults)) :or ~defaults}]
~@exprs))
(def-defaults use-the-operator [a b] {operator +} (operator a b))
(prn "--------------------------")
(prn (use-the-operator 1 2)) ; --> 3
(prn (use-the-operator 1 2 :operator *)) ; --> 2
(prn "--------------------------")
@skatenerd
skatenerd / defaults.clj
Created March 13, 2014 03:49
default arguments
(defmacro make-it [name args defaults & exprs]
`(defn ~name
(~args
(~name ~@(concat args (vals defaults)))
)
(~(vec (concat args (keys defaults)))
~@exprs)))
(prn (macroexpand-1 '(make-it bar [a b] {c +} (prn "HI") (c a b))))
def wat():
z=1
def inner(x):
return (z + x)
return inner
z=55
print wat()(5)
@skatenerd
skatenerd / opacity.clj
Created February 22, 2014 23:23
"Referential Transparency". Yep. Totally transparent.
(def kill-spaces #(clojure.string/replace % " " ""))
(-> "a b c" kill-spaces)
;"abc"
(-> "a b c" #(clojure.string/replace % " " ""))
;kaboom!!!!!
@skatenerd
skatenerd / mush.rb
Last active August 29, 2015 13:56
mush
def gapsize(biggersize, smallersize)
num_gaps = smallersize + 1
total_of_all_gaps = biggersize - smallersize
total_of_all_gaps / num_gaps
end
def gap_sequence(bigger_list, smaller_list)
@skatenerd
skatenerd / sorting.clj
Last active August 29, 2015 13:56
lol
(defn sort-by-lambdas [lambdas to-sort]
(sort-by
#(mapv (fn [lambda] (lambda %)) lambdas)
to-sort))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;test
(describe "sorting"
(it "sorts by lowercased name"
(let [people [{:name "aaa"} {:name "BBB"}]]
(defn compare-tuples [tuple-1 tuple-2]
(or (first (remove zero? (map compare tuple-1 tuple-2))) 0))
(defn get-values-at [record keys]
(map #(get record %) keys))
(defn sort-by-keys [keys to-sort]
(sort-by #(get-values-at % keys) compare-tuples to-sort))
(def people [
@skatenerd
skatenerd / scrape.rb
Created February 1, 2014 19:44
when is the bus coming? write it to db
require 'nokogiri'
require 'net/http'
require 'dm-core'
class Prediction
include DataMapper::Resource
property :id, Serial
belongs_to :snapshot
property :minutes, Integer
end
@skatenerd
skatenerd / wat.py
Last active January 4, 2016 13:08
lol
import sys
def foo(i):
sys.setrecursionlimit(i+5)
print(i)
foo(i+1)