TEHC CAMP 91期夜間休日 卒業後活動記録
7月4日
Rubyドリル
任意の文字列から特定の連続する文字列を検知するプログラム
- 任意の文字列から連続する文字列"xyz"を探し、その直前にピリオド(.)がない場合はTrueを出力する
- 任意の文字列から連続する文字列"xyz"を探し、その直前にピリオド(.)がある場合はFalseを出力する
- 上記2つの条件に当てはまらない場合はFalseを出力する
出力例
- xyz_there('abcxyz') → True
- xyz_there('abc.xyz') → False
- xyz_there('xyz.abc') → True
- xyz_there('azbycx') → False
- xyz_there('a.zbycx') → False
参考
include?メソッド
指定した要素が配列または文字列に含まれているか判断するメソッド
str = "foobar"
puts str.include?("bar")
#=> true
puts str.include?("hoge")
#=> false
回答
def xyz_there(str)
if str.include?(".xyz")
puts "False"
elsif str.include?("xyz")
puts "True"
else
puts "False"
end
end
xyz_there('abcxyz')
回答
”abc.xyz”という文字列の場合
str.ininclude?("xyz")においてもtrueとなってしまうので、
str.include?(".xyz")の条件式をstr.include?("xyz")より前に設置します。
引数
数字を2つ渡すと、それらを掛け算した結果を返すプログラムを作ります。
定義する変数
2つの数字を、num1、num2という変数にgetsメソッドを利用して定義します。
実行結果の例
#デスクトップに移動
$cd Desktop
#Rubyファイルを実行
$ruby argument_test.rb
最初の数字を入力してください
5
2番目の数字を入力してください
6
5と6をかけた答えは30です!
回答
def multiplication(num1, num2)
puts "#{num1}と#{num2}をかけた答えは#{num1 * num2}です!"
end
puts "最初の数字を入力してください"
num1 = gets.to_i
puts "2番目の数字を入力してください"
num2 = gets.to_i
multiplication(num1, num2)
解説
引数の受け取り側の名前はなんでもいいのですが、メソッドの呼び出し側と
同じにしたほうがわかりやすくなります。
複数の引数を渡すこともできますが、引数の受け取り側はメソッドの呼び
出し側での引数の順番で代入される値を決めています。
順番が逆になるとややこしくなるので注意が必要です。
クラスとインスタンス
要件
- Bookクラスを作成する
- Bookクラスは@titleと@priceをプロパティとして持っている
- attr_readerを使用する
- Bookクラスのインスタンスを作成する(タイトル、価格は任意)
- 作成したインスタンスから、タイトルと価格を取得し画面に表示させる。
参考
attr_readerメソッド
インスタンス変数を呼び出すメソッドを定義するメソッド
記述量を減らせます
attr_readerを使用しない場合
class Dog
def initialize(name)
@name = name
end
def name
@name
end
end
dog = Dog.new("ポチ")
puts dog.name
attr_readerを使用した場合
class Dog
attr_reader :name
def initialize(name)
@name = name
end
end
dog = Dog.new("ポチ")
puts dog.name
回答
class Book
attr_reader :title, :price
def initialize(title, price)
@title = title
@price = price
end
end
book = Book.new("プロを目指す人のためのRuby入門", 3218)
puts book.title
puts "#{book.price}円"
解説
sttr_reader :title, :priceという記述で、@titleと@priceにアクセスできる
ようにしています。
繰り返し
times分を使って、繰り返すプログラムを作ります
10.times do |i|
puts "#{i + 1}回目の繰り返し"
end
解説
繰り返したい回数 .timesで繰り返す回数を決めます。
10.timesとendの間に、繰り返す出力を記述します。
○回目の繰り返しと出力するには、10.times do |変数名| として
変数名に現在の繰り返し回数が入るようになります。
プログラムなので1回目は0となるので+1にしています。
progate
Ruby on Rails 学習コースⅧ
before_action
全アクションで共通する処理をまとめることができます。
before_action :呼び出すメソッド名
省略
def メソッド名
処理
end
onlyを用いて、指定したアクションのみでメソッドを実行できるようになります。
applicationコントローラーで定義すると、他のコントローラーで継承して、使うことができます。
before_action :メソッド名, {only: [:index, edit, :shoe]}
一言日記
働くってなんだろう?
仕事?
私は何がしたかったんだろう……
TECH CMAPでプログラミングを学んで、卒業して、就活を開始しているけど
結局、入社できたとして、
研修して、かんたんな業務を経験しながら
勉強を続けて、いつかはエンジニアになれる
って道。
10年ほど若かったらそれでいいんだろうけど
35歳からその道で大丈夫かな。
経験積めた頃には、また技術が新しくなって
若い世代と戦うことになる。
勝てるか?
勝てたとしても、かなりの消耗になることは間違いない。
セブンイレブンをやめる時は大丈夫!行ける!って
思ってたけど、現実はそんなに簡単じゃない。
まぁあのままセブンにいても消耗していくだけなので
辞めたのは間違いじゃなかったって思っているけど
これから、どう進めばいいかわからない。
私の向いていること、ワクワクすること、苦じゃないこと、世の中のためになること
毎日考える。
答えが見つからない。
平気な顔しているけど
内心は不安でいっぱい。
稼ぐ力がないのに仕事をやめて
収入がない状態はまずかった。
もっとはやくに行動して、クラウドソーシングくらいは
経験しておくべきだった。
数万円でも稼げていれば、
すこしは楽だったはず。
後で後悔……
いつも同じことを繰り返す。
ブログとクラウドソーシングで少しは稼げるように
頑張ろうかな。
ちょっとでも稼げたら、
不安がマシになる気がする。
今は、就活に専念しようと思ったけど、
「稼ぐ」ことにフォーカスしてみよう。
フリーランスは憧れるけど、
自分で考えないといけないので、しんどい。
組織の中にいるほうが、楽だよね。
でも、楽して自分で考えなかった結果が今だよね。
これからは、自分で考え行動しないと。
不安で、辛いけど、頑張る。