TEHC CAMP 91期夜間休日 卒業後活動記録
7/1 学習内容&まとめ
Rubyドリル
クラスとインスタンス
class Student
def set_name(name)
@name = name
end
def self.introduce
puts "私の名前は#{@name}です。"
end
end
student = Student.new
student.set_name("山田太郎")
student.introduce
これではエラーが出ます。
①エラーが起きた原因
クラスメソッドとインスタンスメソッドを間違えているのでエラーになります。
*頭に@をつけた変数はインスタンス変数と呼びます。
別のインスタンスメソッド内でも使用できるようになります。
最後の行で、クラスメソッドintroduceをインスタンスが呼び出しているが、クラスメソッドはインスタンスから呼び出せないのでエラーになります。
②正しいソースコード
class Student
def set_name(name)
@name = name
end
def introduce
puts "私の名前は#{@name}です。"
end
end
student = Student.new
student.set_name("山田太郎")
student.introduce
文字の順番を入れ替えて出力するプログラム
要件
- 任意の文字列の最初の2文字を取得する
- 取得した2文字を最後尾に移動させた状態で、その文字列を出力する
出力例
- left2("Hello") → lloHe
- left2("java") → vaja
- left2("Hi") → Hi
値の取得
文字列に対して配列同様に[ ]を用いて取得したい文字列のインデックスを指定することで、値を取得できます。
str = "HELLO"
puts str[1]
# => 1
回答
def left2(str)
puts str[2..-1] + str[0..1]
end
left2("Hello")
解説
str[2..-1]で3文字目から最後まで、str[0..1]で最初の2文字を取得しています。
最初の2文字を最後に移動させた状態にしたいので、str[2..-1] + str[0..1]
の順にしています。
特定の数値の個数を算出するプログラム
複数の数字が格納されている配列に「9」が何個含まれているか出力するプログラムにします。
要件
- 配列の中の数字に対して、9の個数を数える
- 数えた9の個数を出力する
出力例
- array_count9([1, 2, 9]) → 配列の中には9が1個です
- array_count9([1, 9, 9]) → 配列の中には9が2個です
- array_count9([1, 9, 9, 3, 9]) → 配列の中には9が3個です
countメソッド
引数に指定した数字に一致するものの個数を数え、その結果を返すメソッド
ary = [1, 2, 4, 2]
ary.count(2)
# => 2
回答
def array_count9(nums)
count = nums.count(9)
puts ("配列の中には9が#{count}個です")
end
array_count9([1, 2, 9])
解説
countメソッドを使い、指定した数字に一致するものの個数を数えます。
if else
2桁の正の整数を入力し、その整数が、10の倍数からの差が
2以内である時はTrue
それ以外はFalseと出力するメソッドを作ります。
出力例
- near_ten(12)→True
- near_ten(17)→False
- near_ten(19)→True
回答
def near_ten(num)
quotient = num % 10
if quotient <= 2 || quotient >= 8
puts "True"
else
puts "False"
end
end
解説
2桁の整数が10の倍数から差が2以内ということは、10で割ったときの余りが2以下または8以上と解釈できます。
この処理を
quotient = num % 10
if quotient <= 2 || quotient >= 8
で行っています。
progate 学習コースⅧ
7ページまで
一言日記
最近モチベーションが上がらない。
ってことで、今月からカレンダーに手書きで完了したことを記入する
方法にしてみました。
- 進んでいる感覚がある方がモチベーション維持できるということ
- スマホやPCでは余計なものを見てしまう
以上をふまえた上で大きめの卓上カレンダーに書き込めばいいのでは?
と思い、今月から試しにやってみます。
いつまで続くかわからないけど、常に見えるようにしているので
忘れることはないはず。
やることリスト
①就活
②朝のルーティン
③英語と数学の勉強
④プログラミングの勉強
⑤ブログ&読書
できた番号をカレンダーに記入していきます。
あれもこれもやらないとって、自分をおいこんで結局できなくて
へこんで、あせって…
余裕をもったほうがいいんだろうけど
今までが何もしてこなかったから
ついあせってしまう。
一歩ずつと心のなかで言い聞かせながら、今できることをがんばります。