Skip to content

Instantly share code, notes, and snippets.

View Arakaki's full-sized avatar
:octocat:
Focusing

Arakaki Arakaki

:octocat:
Focusing
  • Japan
View GitHub Profile
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 11:41
list.2.1
def hello(names)
names.each do |name|
puts "Hello, #{name.upcase}"
end
end
rubies = ['MRI','jruby']
hello(rubies)
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 11:43
2-3-3
#定数は大文字アルファベットで始まる
FOO_BAR = 'bar'
#再代入はおk
FOO_BAR = 'bar2'
puts FOO_BAR
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 11:46
if-elsif-else
n = 2
if n.zero?
puts "0でした"
elsif n.even?
puts '偶数'
elsif n.odd?
puts '奇数ですた'
end
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 11:48
getter setter インスタンス変数
class Ruler
#rubyではgetterに=をつける習慣がある。というかシンタックスシュガーになっている
def length=(val)
@length = val
end
def length
@length
end
end
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 12:02
attr_accessor
class Ruler
#自動的にgetter setterが実装される
attr_accessor :length
def display_length
puts length
end
end
ruler = Ruler.new
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 13:32
コンストラクタ
class Ruler
attr_accessor :length
#コンストラクタ
def initialize(length)
@length = length
end
end
ruler = Ruler.new(30)
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 13:34
クラスメソッド
class Ruler
attr_accessor :length
#selfでクラスメソッド
def self.pair
[Ruler.new,Ruler.new]
end
end
puts Ruler.pair
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 13:38
クラス変数
class MyClass
@@cvar = 'Hello, My class variable!'
def cvar_in_method
puts @@cvar
end
def self.cvar_in_class_method
puts @@cvar
end
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 13:43
継承
class Parent
def hello
puts 'Hello,Parent class!'
end
end
class Child < Parent
def hi
puts 'Hello, Child class!'
end
@Arakaki
Arakaki / sample.rb
Created September 5, 2013 13:52
オーバーロード
class Parent
def hello
puts 'Hello,Parent class!'
end
end
class Child < Parent
def hello
super
puts 'Hello,Child class!'