0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

今日の学習

Posted at

##やったこと
###・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クラスだった

5  p name #=> "Samurai" #中身が侍であることを確認

7  name.replace("Bushi") #Stringクラスからreplaceメソッドを呼び出す(文字列SamuraiをBushiに入れ替える)

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?