0
0

More than 3 years have passed since last update.

引数、スコープについて

Posted at

変数はメソッドの中で定義するとそのメソッド内でしか基本使えません。
これをスコープといいます
ある変数を利用できる範囲のことです。スコープの範囲外の変数を使おうとすると、エラーが起こります。

その場合どうするかというと引数を使います。
引数はメソッドの外にある変数(スコープ外の変数)をメソッドの中で使うことができます。

postに入っているハッシュのデータを配列オブジェクトの中に入れたい場合


def example
  post = {}
  post[:name] = "太郎"
  post[:age] = "25"
  post[:gender] = "男性"
 posts << post 
end

#配列オブジェクト
posts = []

こちらはエラーになってしまいます。
変数postsはexampleメソッドの外にあるためです。

そこで引数を使うと


def example(a_posts)
  #ハッシュオブジェクト
  post = {}
  post[:name] = "太郎"
  post[:age] = "25"
  post[:gender] = "男性"
  a_posts << post 
  return a_posts
end

#配列オブジェクト
posts = []
posts = example(a_posts)

これで配列オブジェクトpostsにハッシュオブジェクトpostのデータが追加されるコードが書けました。

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