TEHC CAMP 91期夜間休日 卒業後活動記録
7月19日 学習のアウトプット
Rubyドリル
任意の文字列に特定の文字列が含まれているか判断するプログラム
要件
任意の文字列にcatとdogの文字列が含まれている場合は、True
任意の文字列にcatとdogの文字列が含まれていない場合は、False
雛形
def include_cat_and_dog?(str) #処理 end #呼び出し例 include_cat_and_dog?("catdog")
出力例
include_cat_and_dog?("catdog") → True
include_cat_and_dog?("catcat") → False
include_cat_and_dog?("1cat1cadog") → True
include?メソッド
指定した要素が含まれているか判断するメソッド
解答
def include_cat_and_dog?(str) if str.include?("cat") && str.include?("dog") puts True else puts False end end #呼び出し例 include_cat_and_dog?("catdog")
include?メソッドを使用してcatとdogが含まれているかを判断します。 さらに、演算子&&を使用することで、catとdogどちらも含まれているとういう条件になります。
ifとelse
要件
プログラムを実行すると
① 「[0]:カロリーを表示する、[1]:終了する」という選択肢が表示され、数字を入力することができる
② 0を入力すると「500kcal」と表示され、上記の①が繰り返される
③ 1を入力するとアプリケーションが終了する
while
条件によって繰り返し処理を行う
while 条件式 do 処理するアクション end
プログラムを終了させずに同じ処理を繰り返す場合は
while true do 処理するアクション end
⚠無限ループになるので、止める時はctrl+c
解答
while true do puts "[0]:カロリーを表示する" puts "[1]:終了する" input = gets.to_i if input == 0 puts "500kcal" elsif input == 1 exit end end
while true do として、処理を繰り返します。 入力された値が、0の場合は500kcalを表示し、 1 が入力された場合は、exitとなり終了します。
progate
Ruby on Rails 学習コースⅩ
いいね機能の実装
まずは、likesテーブルを作成します。
$ rails g model Like user_id:integer post_id:integer
カラムも同時に作成しています。
値が空では登録できないようにバリデーションを設定します。
validates :user_id, {presence: true} validates :post_id, {presence: true}
投稿にいいねしたかを表示させます。
show.html.erbファイルに記述します。
<% if Like.find_by(user_id: @current_user.id, post_id: @post.id) %> いいね!済み <% else %> いいね!していません <% end %>
likesコントローラーを作成します。 ビューファイルなどはいらないため、controllersフォルダに手動で作成します。
ルーティングを設定します。
post "likes/:post_id/create" => "likes#create"
likesコントローラーにcreateアクションを記述します。
def create @like = Like.new( user_id: @current_user.id, post_id: params[:post_id] ) @like.save redirect_to("/posts/#{params[:post_id]}") end
createアクションへのリンクにします。
show.html.erbファイルの
いいね!していませんの部分を
<%= link_to("いいね!", "/likes/#(@post.id)/create", {method: "post"}) %>
に書き換えます。
一言日記
最近、サボり気味でした。 モチベーションが上がらない…… というより、何がしたかったのかわからなくなった。 プログラミングスクールにいけば、転職して、人生変えられるって思ってたけど、 結局、そんなにうまく行かないですね。 今まで何もしてこなかったんだから、当然といえば当然。 35歳になってやっと、これからのことを考えるようになって、 今をなにをしないといけないのか、何ができるのかを考え行動するように心がけるようになりました。 ようやくスタートラインって感じです。 いや、まだ準備運動かも…… とはいえ、プログラミング、動画編集しながら、 地方移住&カフェ開業も視野にいれつつがんばります。