\ プログラミング学習奮闘記録 /

Progate学習メモ Ruby②【基本】

目次

複数の値をまとめて扱う(配列)

jabascriptの時と同じで、[値1,値2,値3]みたいな感じで書く。

【代入すると、、、】

names = [ “アシタカ”,”サン”,”エボシ”]

puts names

アシタカ

サン

エボシ

  • 配列の要素が1つずつ改行されて出力される。

インデックス番号

これもjabascriptの時と同じ。

puts names [1]とすると、該当するインデックス番号の値が出力される。

繰り返し処理(each文)

each文を使うと、配列の要素を順番に取り出して処理を行うことができる。

【書き方例】

names = [ “アシタカ”,”サン”,”エボシ”]

names.each do | name |    ← name に値が代入される

 puts name

end

アシタカ

サン

エボシ

  • each
  • リスト

変数の使用できる範囲

Rudyではスコープという。

複数の値をまとめて管理する方法:ハッシュ

配列は複数の値を並べて管理するのに対して、ハッシュはそれぞれの値にキーと呼ばれる名前をつけて管理する。

【書き方】

{ キー1=>値1キー=>値2}

【例】

{ “name”=>”アシタカ”,”age”=>18 }

【代入】

user = { “name”=>”アシタカ”,”age”=>18 } 

puts user  →  “name”=>”アシタカ”,”age”=>18 }と出力される

ハッシュの要素を使う

対応するキーを使って、ハッシュ[キー]とすることで用いることができる。

【書き方例】

user = { “name”=>”アシタカ”,”age”=>18 }

puts user[“name”]  → 「アシタカ」と出力される

【ハッシュの要素を更新する】

user = { “name”=>”アシタカ”,”age”=>18 }

puts user  → { “name”=>”アシタカ”,”age”=>18 }

user[“age”] = 25  

puts user  → { “name”=>”アシタカ”,”age”=>25 } ← 更新された

ハッシュに要素を追加する

ハッシュ[新しいキー] = 値と書くことで、ハッシュに新しい要素を追加できる。

【書き方】

user = { “name”=>”アシタカ”,”age”=>18 }

user[“gender”] = “男”

puts user

{ “name”=>”アシタカ”,”age”=>18 ,“gender”=>”男”} ← 新しい要素が追加された

  • リスト
  • リスト

シンボル

文字を「”」や「’」で囲む代わりに、先頭に「:」をつけた書き方のこと。

文字列とシンボルは厳密には違うものだが、同じように使うことができる。

【キーがシンボルのハッシュは省略できる】

通常:user = { “name”=>”アシタカ”,”age”=>18 }

シンボル:user = { :name=>“アシタカ”,:age=>18 }

省略:user = { name:“アシタカ”,age:18 }

省略ハッシュの出力:puts user[:name]

  • 要素を取得する場合にはシンボルを用いる必要があるので注意!

存在しないキーを指定する(nil)

nilを回避する

if文を用いる。

【書き方例】

<userの情報がある場合>

user = { “name”=>”アシタカ”,“age”=>18

if user[:age]

 puts “わが名は#{user[:name]}。#{user[:age]}歳だ。”

else

 puts “わが名は#{user[:name]}。年は秘密だ。”

end

アシタカさんは18歳です。

<userの情報がない場合>

user = { name:”アシタカ”}

if user[:age]

 puts “わが名は#{user[:name]}。#{user[:age]}歳だ。”

else

 puts “わが名は#{user[:name]}。年は秘密だ。”

end

わが名はアシタカ。年は秘密だ。

配列の要素にハッシュを入れる

[{キー1:値1}{キー2:値2}]

【書き方例】

user = [

{name:”アシタカ”,age:18},

{name:”エボシ”,age:30}

]

put user[0]   →  {name:”アシタカ”,age:18}と出力される

  • リスト
  • リスト

配列の中のハッシュ

【書き方例】

users = [

{name:”アシタカ”,age:18},

{name:”エボシ”,age:30}

]

user = users[1]

put user[:name]  → 「エボシ」と出力される

  1. useに{name:”エボシ”,age:30}を代入する
  2. 代入した変数userをつかって、変数[キー]とすることで「エボシ」が出力される

    を省略して書くと

put users[1][:name] となる。eachの中でも使える

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次