http://guides.rubyonrails.org/association_basics.html
- belongs_to : TABLE_NAME
- has_one : TABLE_NAME [:through => :TABLE_NAME]
- has_many : TABLE_NAME [:through => :TABLE_NAME]
- has_and_belongs_to_many : TABLE_NAME [:join_table => :TABLE_NAME]
# ruby fibs | |
require 'benchmark' | |
# === stupid === | |
def recursive_fib(n) | |
n <= 1 ? n : recursive_fib(n-1) + recursive_fib(n-2); | |
end | |
puts Benchmark.measure { recursive_fib(35) } |
class Node | |
attr_accessor :value | |
attr_accessor :next, :previous | |
def initialize(value) | |
@value = value | |
@next = nil | |
@previous = nil | |
end | |
end |
function sinatra { | |
if [ "$1" == "" ]; then | |
echo "Usage:" | |
echo "'sinatra app_name' to create a new Sinatra app skeleton"; | |
else | |
if [ ! -d "$1" ]; then | |
echo "Generating your app ... " | |
mkdir $1 | |
mkdir $1/views; |
require 'sinatra' | |
get "/" do | |
erb :form | |
end | |
post '/save_image' do | |
@filename = params[:file][:filename] | |
file = params[:file][:tempfile] |
http://guides.rubyonrails.org/association_basics.html
puts Solution.new('1. Fizz Buzz', <<SOLUTION) | |
def fizzbuzz(n)(n%15==0?'FizzBuzz':n%3==0?'Fizz':n%5==0?'Buzz':n).to_s end | |
SOLUTION | |
.test { fizzbuzz 3 }.expect { |result| result == "Fizz" } | |
.test { fizzbuzz 10 }.expect { |result| result == "Buzz" } | |
.test { fizzbuzz 45 }.expect { |result| result == "FizzBuzz" } | |
.test { fizzbuzz 31 }.expect { |result| result == "31" } |