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 permute(*args) | |
# initialize the register for each array | |
# with [array itself, offset, its size] | |
memory = [] | |
perm_count = 1 | |
args.each do |array| | |
size = array.size | |
memory << [array, 0, size-1] |
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
:- lib(ic). | |
croissant(X,Y,Z) :- | |
(X^2+Y^2+Z^2+7*sqrt(5)/2-11/2)^2 - ((1+sqrt(5))*X-7+3*sqrt(5))^2-(1+sqrt(5))^2*Y^2 $= 0, | |
locate([X,Y,Z], 1e-5). | |
# one of the solutions | |
croissant(X,Y,Z). | |
X = X{0.0 .. 7.4073630564431975e-6} | |
Y = Y{1.066573563196598 .. 1.0665754743970506} |
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
bar.receive_order(client.put_words_in_mouth('Un croissant, por favor.').speak_up) |
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
module Test::Unit::UserStory | |
class UserStoryTestCase < ActionController::IntegrationTest | |
class << self | |
attr_accessor :description | |
alias :it :test | |
def criteria(name, options = {}, &block) | |
klass = create_class(name, self, &block) | |
helper_klass = options[:js] ? CapybaraJavascriptTestHelper : CapybaraTestHelper |
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
require File.expand_path(File.dirname(__FILE__) + "/../test_helper") | |
include Test::Unit::UserStory | |
story "Create the thing", %{ | |
As a user | |
I want to create something | |
In order to show something | |
} do | |
criteria "without js when logged in" do |
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 permute(*args) | |
# filter the arguments | |
args.reject! {|x| !x.is_a?(Array) || x.empty?} | |
# get the number of all combinations | |
total = args.inject(1) {|total, array| total * array.size} | |
# prepare the small_cycles array to know how many times | |
# one element should be repeated in a loop |
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 cartprod(*args) | |
result = [[]] | |
while [] != args | |
t, result = result, [] | |
b, *args = args | |
t.each do |a| | |
b.each do |n| | |
result << a + [n] | |
end | |
end |
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
require 'test/unit' | |
class PeopleMatcherTest < Test::Unit::TestCase | |
def setup | |
@db = [ | |
{ :id => 1, :name => "John", :age => 33, :homepage => "www.johny.com", :matched => false }, | |
{ :id => 2, :name => "Mike", :age => 30, :homepage => "www.mikes.com", :matched => false }, | |
{ :id => 3, :name => "Johny", :age => 25, :homepage => "www.johny.com", :matched => false }, | |
{ :id => 4, :name => "Mike", :age => 30, :homepage => "www.realmike.com", :matched => false }, | |
{ :id => 5, :name => "Dan", :age => 25, :homepage => "www.danny.com", :matched => 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
module FilterMatcher | |
# | |
# define filter in a class that uses this module | |
# named like: | |
# - name_filter | |
# - age_filter | |
# | |
# they should a filtered array | |
# |
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
class PeopleMatcher | |
include FilterMatcher | |
attr_reader :db | |
def initialize(db, input) | |
@db, @input = db, input | |
end | |
def match |
OlderNewer