ポートフォリオ作成に向けて、1月中に基礎学習を終わらせます。
HTML/CSS、JavaScriptの復習を終わらせたので、
次にRubyの復習をProgate、ドットインストールを用いて行っていきます。
なお、記述する内容は自分が忘れがちな所、苦手な所です。
HTML/CSS編、JavaScript編同様、自分用の備忘録的に投稿していくので(箇条書きで)、
読みづらいor間違えていることを書いている可能性もあるので、悪しからず。
(できるだけ他の方が見てもためになれば良いなとは思って投稿しますが・・・)
箇条書きで書いたことに関して、新たな発見、学び、気づき等あれば、
それぞれ個々に詳細を記述していこうと思います。
文字列
Rubyファイル
puts 'Hello World'
# シングルクォーテーションorダブルクォーテーションで囲む
変数
変数の定義
Rubyファイル
name = "Taro"
# 変数 = 代入する値の形で変数を定義できる
変数名のルール
○良い例・・・ 英単語を用いる、2語以上の場合はアンダーバーで区切る
× 悪い例・・・ 数字から始まる、ローマ字、日本語
変数展開
Rubyファイル
name = "鈴木"
puts "こんにちは#{name}さん"
#変数展開を用いたい場合はシングルクォーテーションではなく、ダブルクォーテーションを使うことに注意
コンソール
こんにちは鈴木さん
if文
Rubyファイル
if 条件式
処理
end
Rubyファイル
score = 90
if score > 80
puts "よくできました"
end
コンソール
よくできました
条件式の出力
Rubyファイル
score = 90
puts score > 80
コンソール
true
比較演算子
Rubyファイル
a == b #aとbが等しいとき、true
a != b #aとbが異なるとき、 true
else
Rubyファイル
if 条件式
処理
else
処理
end
Rubyファイル
score = 100
if score == 100
puts "満点です"
else
puts "満点ではありません"
end
elsif
Rubyファイル
if 条件式1
処理
elsif 条件式2
処理
else
処理
end
Rubyファイル
score = 75
if score > 80
puts "よくできました"
elsif score > 60
puts "まずまずです"
else
puts "がんばりましょう"
end
コンソール
まずまずです
条件の組み合わせ
Rubyファイル
score = 68
if score <= 80 && score > 60
puts "まずまずです"
end
コンソール
まずまずです
配列を変数に代入する
Rubyファイル
names = ["Yamada", "Sato", "Tanaka"]
puts names
puts names[1]
コンソール
Yamada
Sato
Tanaka
Sato
配列の要素と変数展開
Rubyファイル
names = ["Yamada", "Sato", "Tanaka"]
puts "私の名前は#{names[1]}です"
コンソール
私の名前はSatoです
each文
Rubyファイル
配列.each do |変数名|
#実行したい処理
end
Rubyファイル
names = ["Yamada", "Sato", "Tanaka"]
names.each do |name|
puts name
end
コンソール
Yamada
Sato
Tanaka
ハッシュ
Rubyファイル
{キー1 => 値1, キー2 => 値2}
#例
{"name" => "Yamada", "age" => 20}
#"name","age"がキー、"Yamada",20が値
ハッシュを変数に代入する
Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user
コンソール
{"name" => "Yamada", "age" => 20}
ハッシュの要素を用いる
Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user{"name"}
コンソール
Yamada
ハッシュの要素の更新
Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user
user["age"] = 30
puts user
コンソール
{"name" => "Yamada", "age" => 20}
{"name" => "Yamada", "age" => 30}
ハッシュに要素を追加する
Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user
user["gender"] = "male"
puts user
コンソール
{"name" => "Yamada", "age" => 20}
{"name" => "Yamada", "age" => 20, "gender" => "male"}
ハッシュのキーにシンボルを用いる
Rubyファイル
user = {"name" => "Yamada", "age" => 20}
# 以下のように書き換えられる
user = {:name => "Yamada", :age => 20}
puts user[:name]
コンソール
Yamada
キーがシンボルのハッシュの省略
Rubyファイル
user = {:name => "Yamada", :age => 20}
# 以下のように書き換えられる
user = {name: "Yamada", age: 20}
puts user[:name]
コンソール
Yamada
ハッシュの書き方まとめ
Rubyファイル
#キーが文字列の書き方
{"name" => "Yamada", "age" => 20}
#キーがシンボルの書き方
{:name => "Yamada", :age => 20}
#キーがシンボルの書き方(省略形)
{name: "Yamada", age: 20}
ifとnil
if文の条件
true・・・ falseとnil以外 false・・・ false,nil配列の要素にハッシュを入れる
Rubyファイル
users = [
{name: "Yamada", age: 20},
{name: "Sato", age: 25}
]
user = users[1]
puts users[1]
puts user[:name]
puts users[1][:name]
コンソール
{name: "Sato", age: 25}
Sato
Sato
each
Rubyファイル
users = [
{name: "Yamada", age: 20},
{name: "Sato", age: 30}
]
users.each do |user|
puts user
end
users.each do |user|
puts user[:name]
end
コンソール
{name: "Yamada", age: 20}
{name: "Sato", age: 30}
Yamada
Sato
メソッド
メソッドの定義
```Ruby:Rubyファイル def メソッド名 処理 end ```Rubyファイル
def introduce
puts "こんにちは"
puts "私はたろうです
end
メソッドの呼び出し
Rubyファイル
def introduce
puts "こんにちは"
puts "私はたろうです
end
introduce #introduceメソッドを呼び出している
コンソール
こんにちは
私はたろうです
引数を受け取るメソッドの定義
Rubyファイル
def メソッド名(引数名)
処理
end
Rubyファイル
def introduce(name)
puts "こんにちは"
puts "私は#{name}です"
end
introduce("たろう")
introduce("はなこ")
コンソール
こんにちは
私はたろうです
こんにちは
私ははなこです
複数の引数を受け取る
Rubyファイル
def introduce(name, age)
puts "私は#{name}です"
puts "#{age}歳です"
end
introduce("たろう",20)
コンソール
私はたろうです
20歳です
戻り値
Rubyファイル
def add(a,b)
return a + b
end
sum = add(1,3)
puts sum
コンソール
4
様々な戻り値
Rubyファイル
def negative?(number)
return number < 0
end
puts negative?(5)
コンソール
false
複数のreturn
Rubyファイル
def judge(score)
if score > 80
return "よくできました"
end
return "がんばりましょう"
end
puts judge(70)
コンソール
がんばりましょう
キーワード引数
Rubyファイル
def introduce(name:, age:, food:)
puts "私は#{name}です"
puts "年齢は#{age}歳です"
puts "好きな食べ物は#{food}です"
end
introduce(name: "たろう", age: 20, food: "すし")
コンソール
私はたろうです
年齢は20歳です
好きな食べ物はすしです