if文とfizz_buzzメソッド

if文で条件分岐させる

if文、プログラミングに触れたことがなくてもなんとなく察しがつきそうな感じですかね。 条件によって動作を変えられる便利なやつ。

もし、条件①なら、○○しろ! 条件①じゃなかったら、✗✗しろ!みたいな感じですね。

Rubyでif文を書く時はこうなります。

if 条件①
 条件①の場合の処理
elsif 条件②
 条件②の場合の処理
else 
 それ以外(条件①でも②でもない)場合の処理
end

「elsif」を「elseif」と間違えないように気をつけます。

こんな感じで条件を決めておいて、それに沿って処理が流れるようにすることができます。

fizz_buzzメソッド

プログラミング界隈ではfizzbuzz問題というのが有名らしい。

実際はもっと難しい内容みたいなのですが、今回は以下の仕様でメソッドを作ります。

  • 3の倍数ならFizzを表示
  • 5の倍数ならBuzzを表示
  • 15の倍数ならFizzBuzzを表示
  • それ以外は数字をそのまま表示

ということで、メソッドはこのように定義します。

def fizz_buzz(num)
  if num % 15 == 0
    "Fizz Buzz"
  elsif
    num % 3 == 0
    "Fizz"
  elsif
    num % 5 == 0
    "Buzz"
  else
    num
  end
end

puts fizz_buzz(1)
puts fizz_buzz(2)
puts fizz_buzz(3)
puts fizz_buzz(4)
puts fizz_buzz(5)
puts fizz_buzz(6)
puts fizz_buzz(15)

このメソッドを作る時のポイントは最初の条件分岐で「15の倍数なら」をもってくるところです。 15は3の倍数でもあり、5の倍数でもあるので、最初の条件にもってこないと「Fizz」もしくは「Buzz」が表示されてしまいます。

このように表示されるはずです。

=> 1
=> 2
=> Fizz
=> 4
=> Buzz
=> Fizz
=> Fizz Buzz

まとめ

if文はよく使う構文なので、しっかり頭にいれていきたいです。

また条件分岐できる構文はif文以外もあるので、そちらについても学習してアウトプットしていきます。

参考:プロを目指す人のためのRuby入門

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ) | 伊藤 淳一 |本 | 通販 | Amazon

メソッドについて

そもそもメソッドとは

メソッドとは「実行する処理をまとめて定義しておくもの」です。

Rubyではメソッドは以下のように書きます。

def メソッド名
 処理の内容
end

メソッドは定義しただけでは実行されないので、実行したいタイミングで呼び出します。

def greeting
 puts "Hello!"
end

greeting ←ここで上で定義したメソッドを呼び出してます

greetingというメソッドを定義して呼び出すことによってHello!が出力されるようになります。 内容が簡単なので、メソッドの恩恵をあまり感じられないと思いますが、メソッドは一度作っておいたら何度でも呼び出せるので、とても便利なものなのです。

引数を受け取るメソッド

メソッドには引数(ひきすう)というものを渡して柔軟に対応することができます。 例えば上のメソッドでは、永遠にHello!しか出てきません。

def greeting(language)
 puts "#{language}"
end

greeting("Hello!")
greeting("iHOla!")
greeting("Buon giorno")
greeting("こんにちは")

カッコの中が引数なのですが、これをメソッドに渡すことで、色んな国の挨拶が出力されるようになりました。

今日はここまで。

頭では理解しているつもりでも、実際に言語化するとなると難しい、、、

もっと相手にとっても自分にとってもわかりやすく伝わる方法を工夫していきます

タッチタイピング

一発目の記事がこれかって感じですが

記事を書くことを習慣化したいので多目に見てください。

学習始めてから3ヶ月目になりますが、これ出来ないと結構キツイです。

なんだそんなことかと思う人がいるかもしれませんが、 単純に考えてみて同じ量のコードを書くにしても 出来る人の倍かかってたら、 単純に倍の時間かかるってことですよね、恐ろしい・・・

サラリーマンしている時期が長かったので、タイピングにはそこそこ自信がありました。

と言ってもキーボードチラ見しながら打ってましたがね。 人並みには打てると思ってました。

プログラミング始めてから入ったオンラインサロンの人たちのタイピングの早さったら凄かったです。

どうしたらそんなに早く打てるのか、、、

結論は、

毎日時間を決めて練習あるのみ

でした。それから毎日「寿司打」というタイピングゲームを時間を取ってやるようにしてます。

やり始めてから成果は出たのですが、ある日途中でタイピングのスピードが上がらなくなりました。

原因は、

「正しいフォームでタイピングしていないから」

タイピングは正しい指でしないと早く打てないし、タイポ(打ち間違い)します。

自分は我流でやってきてしまって変な癖がついてしまい、絶賛矯正中です。

「生産性を上げる」という観点では、エンジニア目指す人も、そうでない人もパソコン使う人は

タッチタイピング必須かなと思います。

まずは自己紹介

現在の状況

2021年1月時点で36才

静岡18年▶京都18年▶静岡に戻る

2020年10月に新卒で13年勤めた会社を退職

エンジニア転職を目指してプログラミング学習中

 

このブログで書く内容

・プログラミング学習のアウトプット

・転職活動について

・時々気まぐれで好きなことを書く

 

自分を追い込むため、課金してブログをスタートしました。

まずは簡単なことから書いていきますが、

技術的なことで誤りがございましたら、ご指摘いただけますと幸いです。