Skip to content

Instantly share code, notes, and snippets.

@drselump14
Forked from ohta-rh/gist:2833135
Created June 15, 2013 10:49
Show Gist options
  • Save drselump14/5787733 to your computer and use it in GitHub Desktop.
Save drselump14/5787733 to your computer and use it in GitHub Desktop.
#coding: utf-8
#別名メソッドに気をつけよう。
#たとえば
#array.mapとarray.collectは同じメソッドです。
#自己破壊メソッドはポインタ参照が変わらないため、変数bは変数aの内容を表示する。
a = [1,2,3]
b = a
a.reverse!
p b
=> [3,2,1]
#代入した場合はポインタ参照が変わるため、変数bと変数aの内容が変わる。
a = [1,2,3]
b = a
a = "hoge"
p a
=>"hoge"
p b
=>[1,2,3]
#頻出メソッド(Stringの取り出し)
p "string"[1,2] #第一引数は始点、第2匹数は取り出す要素の個数。(文字列先頭は0、文字列末尾は-1)
=> "tr"
p "string"[1..2] #rangeオブジェクトの始点から範囲指定で取り出す。
=> "tr"
p "string"[1...2] #range指定で「...」の場合は[1..1]と同様の動作をする。この場合は文字列「t」が表示される。
=> "t"
#!がつかないけど自己破壊なメソッド
hash.delete
hash.delete_if
array.delete
array.pop
array.shift
array.unshift
array.push
#*他もあるかも
## TIPS
#array.collectとarray.mapは一緒
#hash.delete_ifとhash.reject!は一緒
#<=>メソッドが定義されていないとsortメソッドは使えない。
#Constへの再代入はwarningが出る
Const = "hoge"
Const = "piyo"
#ここでwarning
#ただしConstが自己破壊メソッドを呼び出した場合はwarningがでない。(ポインタが変わらないので)
Const.sub!(/hoge/, "piyo")
#File/Dirクラスのクラスメソッドは知識を問われるので試験の直前に読む
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment