見出し画像

【コードが書けないQAエンジニアがコードが書けるQAエンジニアになるまでの話】配列~paizaでの学習

こんにちは!honaminです。
年末年始休みも終わろうとしています。ガクブル。引き続きRubyの勉強を進めていますが、ブートキャンプは終わりが見えてきました。1月以後も継続です。(まあそうだよね)

前回からの続きとして、配列、練習問題、paizaでの勉強をおこなってきました。そろそろ腰が痛いです。

配列について

a = [1, 2, 3, 4]
b = ["あ", "い", "う", 4]

a=1など、1つの変数に対し1つの値を代入するのに対し、配列は用意された複数の箱に値を入れるイメージ。また、入れる値は型がちがってもOK。

配列の中身を表示してみよう

a = [1, 2, 3, 4]
p a #=> [1, 2, 3, 4]

配列全体を表示したいときは簡単ですね。pは配列やデータ型をそのまま表示してくれるメソッドです。デバッグしたい時などに便利。
それでは配列の中身を指定して表示してみます。

a = [1, 2, 3, 4]
p a[0], a[1], a[2], a[3]

=begin
実行結果
1
2
3
4
=end

配列の中身はインデックスで指定します。インデックスは0から始まるため、それぞれ対応するインデックスは以下のようになります。

配列のインデックス

地道に1つ1つ指定して表示させることができましたが、これでは配列の長さがわからないとすべて表示することができません。そこで以下のようにしてみました。

a = [1, 2, 3, 4]
a.each do |n|
    p n
end

eachメソッドは配列に対して用意されているメソッドです。配列の中身の数の分、処理を繰り返すことができます。(参照

配列の長さがわからなくても、すべての要素を取り出すことができました!

練習問題 その1

ここまで勉強してきた内容で解ける練習問題です。

Aさんが先日行った5教科分のテスト結果が返ってきました。ただし、5教科の平均点をそのままお母さんに伝えると怒られそうなため、結果が50点以下のテストについては省いて平均点を求めることにしました。
5教科分のテストの平均点と、50点以下は省いたテストの平均点を表示しましょう。

a = [75, 23, 51, 100, 49] # Aさんのテストの点数
b = 0 # テストの合計点

a.each do |n|
    b += n
end
p b/a.length #=> 59 lengthメソッドで配列の長さを求めている

# 50点以下のものは平均点に含めない

def more_fifty?(n) # nが50点以上であればtrueを返す
    n >= 50
end

c = 0 # 50点以下は含めない場合の合計点
d = 0 # 50点以下のテストがいくつあったか
a.each do |n|
    if under_fifty?(n)
        c += n
        d += 1
    end
end

p c/d #=> 75

結果としてはこんな感じになりました。

paizaでの自習

Ryby入門1~4

ここまではOJTみたいな感じで教えてもらっていたのですが、ここからしばらくpaizaのRubyレッスンの入門1~4までを自習しました!
今まで学習するものを補完する内容だったので、するする入ってきました。なるほど、こうやって点がつながっていくんだなぁ。

スキルチェックDランク問題から10問

Dランク問題一覧から10本ノックです。まだまだ1から考えるのは難しい😢
でもちょっとずつ書けるようになってきた感はあります・・・!(たぶん)

まとめ

後から足りない知識を補完する、という順番は個人的にはかなりしっくりきて覚えやすかったです!次はハッシュの基礎に入っていきます。戦いはまだまだつづく👼


この記事が気に入ったらサポートをしてみませんか?