2013 Minori Yamashita [email protected]
ターゲットを動的オブジェクト指向プログラマに絞って、関数指向の考え方を説明します。 コードサンプルでは、オブジェクト指向には CoffeeScript ^1、関数指向には Clojure を使用しますが、文章は汎用的に書いてあります。
最下部に用語集があるので、わかりづらい単語、表現があったら参照してください。
2013 Minori Yamashita [email protected]
ターゲットを動的オブジェクト指向プログラマに絞って、関数指向の考え方を説明します。 コードサンプルでは、オブジェクト指向には CoffeeScript ^1、関数指向には Clojure を使用しますが、文章は汎用的に書いてあります。
最下部に用語集があるので、わかりづらい単語、表現があったら参照してください。
#encoding: utf-8 | |
class Janken | |
def self.hands | |
%w(グー チョキ パー) | |
end | |
def self.win | |
[%w(グー チョキ), %w(チョキ パー), %w(パー グー)] | |
end |
#!/usr/bin/env ruby | |
ARGV.instance_eval do | |
exit if empty? | |
width = map(&:size).max | |
border = "+#{'-' * width}+" | |
puts border | |
each {|line| | |
puts format("|%-*s|", width, line), border |
fizzer = [nil, nil, 'Fizz'].cycle | |
buzzer = [nil, nil, nil, nil, 'Buzz'].cycle | |
1.upto(100) { |i| | |
fizz, buzz = fizzer.next, buzzer.next | |
puts fizz || buzz ? "#{fizz}#{buzz}" : i | |
} |
source 'http://rubygems.org' | |
gem 'rails', :git => 'git://github.com/rails/rails.git' | |
gem 'journey', :git => 'git://github.com/rails/journey.git' | |
gem 'arel', :git => 'git://github.com/rails/arel.git' | |
gem 'activerecord-deprecated_finders' , :git => 'git://github.com/rails/activerecord-deprecated_finders.git' | |
gem 'sqlite3' | |
group :assets do |
class Tab | |
constructor: -> | |
@$tabs = ($ '.tab') | |
@$sections = ($ '.section') | |
@_idx = 0 | |
current_tab: => | |
@$tabs.eq(@_idx) | |
current_section: => |