##やったこと
###・atom のエディターをオートセーブに設定。
###・メソッドについて
##学んだこと
###・atom のエディターをオートセーブに設定やり方
→atom →Preference→Packagesで「autosave」を検索、[Settings]でEnabledにチェックを入れる。
###・メソッドについて
・メソッド
メソッドはユーザーが独自に定義するいことができる関数のこと。メソッドを定義することにより、共通した処理をひとまとめにし、メソッドを呼び戻すことで何度でも使うことができる。
Rubyのメソッドは始まりにdefを指定して、終わりをendを記述し、その中に実行する処理を記述する。
↓
def メソッド名
実行する処理
end
メソッドの使い方
ex say と言うメソッドを定義する場合
↓
def say
puts "YOLO" #You Only Live Once(人生は一度きり)
end
say
実行結果→YOLO
またメソッドにあらかじめ引数を設定することができる。
ex goodbyeという引数付きのメソッドを定義する場合。
def goodbye(name)
puts "Goodbye #{name}"
end
goodbye("World!")
実行結果→Goodbye World!
文字列の中で、メソッドで渡した値を使用したい時、#{}で変数を囲む必要がある。
今回はnameが引数のため#{name}となる。
メソッドの呼び出し
通常メソッドというのは全てクラスに定義されている。
→(あるクラスを継承した)オブジェクト.メソッド名(第1引数、第2引数、…)){ブロック}
例えば、rubyのなかの文字列オブジェクトのクラスはstringであるため、stringクラスのメソッドを使うことができる。
1 name = "Samurai" #文字列オブジェクトnameを定義
2
3 "Samurai".class #クラスを確認→Stringクラスだった
4
5 p name #=> "Samurai" #中身が侍であることを確認
6
7 name.replace("Bushi") #Stringクラスからreplaceメソッドを呼び出す(文字列SamuraiをBushiに入れ替える)
8
9 p name #=> "Bushi" #ちゃんと入れ替わった
10
この場合、継承したオブジェクトはnameでメソッドはreplaceである。
そしてreplaceの第一引数はBushiである。
トップレベルにメソッドが定義されてた場合はオブジェクトの省略をしてメソッドを呼び出すことができる。
先ほどの
→def goodbye(name)
puts "Goodbye #{name}"
end
goodbye("World!")
また、{ブロック}を渡す場合は例えば配列の場合だと
→a = [1,2,3]
a.each{|content| p content}
実行結果
→[実行結果]
1 1
2 2
3 3
{|content| p content}の部分がブロックを渡している部分。
###補足、追加
変数の使い方https://www.sejuku.net/blog/12879
defを使ってメソッドを定義するhttps://www.sejuku.net/blog/19275
クラスメソッドの使いかたhttps://www.sejuku.net/blog/19208