Skip to content

Instantly share code, notes, and snippets.

# rake a:b[xx,yy]
desc "description place"
namespace :a do
task :b, :x, :y do |t, args|
args[:x]
args[:y]
end
end
# rake c
task :c do
@visibletrap
visibletrap / gist:1633269
Created January 18, 2012 14:37
"do Tap"
def do_each(hash)
result = {}
hash.each { |key, value| result[key] = do_something(value) }
result
end
def do_inject(hash)
hash.inject({}) { |result, pair| result[pair.first] = do_something(pair.last); result }
end
def do_each(hash)
result = {}
hash.each { |key, value| result[key] = do_something(value) }
result
end
def do_inject(hash)
hash.inject({}) { |result, pair| result[pair.first] = do_something(pair.last); result }
end
def do_tap(hash)
{}.tap do |result|
hash.each { |key, value| result[key] = do_something(value) }
end
end
def do_map(hash)
Hash[hash.map { |key, value| [key, do_something(value)] }]
end
@visibletrap
visibletrap / output
Created June 3, 2012 21:00
Minitest or SimpleDelagator problem?
$ ruby q.rb
1 true
2 false
3 true
4 false
5 A
Run options: --seed 65268
# Running tests:
sum = ->x,y,z { x + y + z }.curry
puts sum[2][3][4]
=> 9
@visibletrap
visibletrap / pi.clj
Created July 14, 2012 11:09
Print-Increment Function
(defn pi
([] (pi 0))
([x] (println x) #(pi (+ x 1))))
; result
=> (((((((pi)))))))
0
1
2
3
@visibletrap
visibletrap / inc_prime.rb
Created July 14, 2012 13:28
Sieve of Eratosthenes
prime = -> a=[false, false], z=1 do
n = a.size + 1
b = a + [true]
(2..Math.sqrt(a.size)).each do |i|
if b[i]
x = 0
while (y = i**2+x*i) < n
b[y] = false
x += 1
end