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.

9/9 Tech Expert (事前学習) day 10 / 変数スコープ

Posted at

【学習アウトプット】

今日の目標(やること)
Ruby!

今日のまとめ

変数のスコープ

変数には、その変数が使える範囲がきまっている。
(例:メソッド内ではそのメソッド内で定義した変数)
スコープの範囲外の変数を使おうとすると、エラーが起こる。

【例】スコープの範囲内のため、正常に動作する

capital = "東京"        # 首都は「東京」
puts capital

【例】スコープの範囲が違うため、エラーになる

capital = "東京"        # 首都は「東京」
 def america
 puts capital
end

america                 # エラー

【例】同じ名前の変数でもスコープが違えば別の変数となる

capital = "東京"         # 首都は「東京」

def america
  capital = "ワシントン"   # americaの首都は「ワシントン」
  puts capital
end

america                 # => ワシントン

引数(ひきすう)

引数はメソッドの外からメソッドに渡す値
「メソッドを呼び出す部分(本引数)」と「メソッドを定義している部分(仮引数)」両方に書く

def メソッド名(仮引数)
   実行する処理
end

【例】引数を用いたメソッドの実行

def multi(input)
   puts input * input
end

puts "何か数字を入力してください"
input = gets.to_i

multi(input)

(メソッドmultiは、引数として渡した数を2乗した数字を出力してくれるメソッド)
()のinput
この記述により、メソッドmultiが実行される際にinputを引数として利用することが出来る。

・メソッドの中では仮引数の名前で扱うため、本引数と仮引数の名前が同じである必要はない。
・仮引数の名前は何でも良いが、誰が読んでもそれが何を指すかわかるようなネーミングを。(aやbではなく、numberやnameを使おう。)(引数が渡されたメソッドの性質によって名前を変えた方がわかりやすい場合がある。)

先ほどのメソッドの仮引数を以下のようにしても問題ない。
(仮引数の変数名をnumberに変更)

【例】仮引数の名前を変更

def multi(number)
  puts number * number
end

puts "何か数字を入力してください"
input = gets.to_i

multi(input)

〜独り言(まとめやら感想やら)〜

特になし。。。

0
0
2

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?