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歳からその道で大丈夫かな。

経験積めた頃には、また技術が新しくなって

若い世代と戦うことになる。

勝てるか?

勝てたとしても、かなりの消耗になることは間違いない。

セブンイレブンをやめる時は大丈夫!行ける!って

思ってたけど、現実はそんなに簡単じゃない。

まぁあのままセブンにいても消耗していくだけなので

辞めたのは間違いじゃなかったって思っているけど

これから、どう進めばいいかわからない。

私の向いていること、ワクワクすること、苦じゃないこと、世の中のためになること

毎日考える。

答えが見つからない。

平気な顔しているけど

内心は不安でいっぱい。

稼ぐ力がないのに仕事をやめて

収入がない状態はまずかった。

もっとはやくに行動して、クラウドソーシングくらいは

経験しておくべきだった。

数万円でも稼げていれば、

すこしは楽だったはず。

後で後悔……

いつも同じことを繰り返す。

ブログとクラウドソーシングで少しは稼げるように

頑張ろうかな。

ちょっとでも稼げたら、

不安がマシになる気がする。

今は、就活に専念しようと思ったけど、

「稼ぐ」ことにフォーカスしてみよう。

フリーランスは憧れるけど、

自分で考えないといけないので、しんどい。

組織の中にいるほうが、楽だよね。

でも、楽して自分で考えなかった結果が今だよね。

これからは、自分で考え行動しないと。

不安で、辛いけど、頑張る。