30歳 独学で始めるプログラミング ~WEBデザイン・アプリ開発~

ITスキルに興味がでたので、codeを書いてみたら面白くてハマってしまいました!日々何をやったのかを中心に、記事を書いていきたいと思います。

37日目:Ruby Ⅰ:まずはRubyを触ってみる 慣れたら簡単な条件分岐を作成する

<学習日>

37日目

<学習内容>

Ruby (0-100%):まずはRubyを触ってみる 慣れたら簡単な条件分岐を作成する(puts、文字列連結、四則演算、展開関数、条件分岐)

<参考>

Progateレベル:163

 

<学習内容詳細>

f:id:yakuzen_kokoro:20200810223607p:plain

日本ではまだまだ現役のRubyについて勉強していきます^^

 

全世界的にRubyの人気は右肩下がりではありますが、まだまだ国内での現場では使用率が高いので、勉強の価値がないわけではない。

むしろ初学者であれば、ある程度は知っておく必要がある言語であると思います。

(特に海外でプログラマーとして就職するわけでないのであれば)

 

ではではさっそく単元の内容に入っていきましょう!

 

 

Ruby (0-100%):まずはRubyを触ってみる 慣れたら簡単な条件分岐を作成する(puts、文字列連結、四則演算、展開関数、条件分岐)

f:id:yakuzen_kokoro:20200810223907p:plain

f:id:yakuzen_kokoro:20200810223917p:plain

はい、ということで、最初の単元なので超簡単です。

 

項目数は多いですが、逆に1つ1つが「こんなcodeあるよ」くらいのノリなので、サクサク進められます^^

 

また、ここまででPHPJavaも学習してきているので、内容自体は殆ど変わらず、少し書き方が違う部分があるのかなくらいでした^^;;

 

ではさっそく実際のcodeも挙げながら、振り返っていきます!

 

 

・値を表示させる

puts 値


・codeの実行性のないコメントを残す

# コメント

シャープの列はcodeが実行されず、アウトプットに何も影響しない


・文字列と数字は明確に異なる

””や’’で囲った中身は、文字列として認識される。

puts 8 + 2 ⇒ 10
puts "8 + 2" ⇒ 8 + 2

と表示される。


・文字列を連結させたい場合

puts "私は" + "人間だ" ⇒ 私は人間だ


・変数には文字列も、数字も値として入れることが出来る

text = "こんにちは"
puts text ⇒ こんにちは


width = 4
height = 3
puts width * height ⇒ 12

変数を使って、連結や数字計算も可能


・変数の命名時に2語以上の単語から付けた名前は_で繋ぐこと

○user_name
×usernameとかuserName

 

PHPだと2単語目以降の頭文字を大文字にするだったのに、Rubyだとアンダーバーで繋ぐ文化みたい


・変数は後から更新したものが優先される

width = 7
処理A
width = 13
処理B


この場合、「処理Aではwidthは7」と扱われ、「処理Bではwidthは13」と扱われる。


・変数に特定の演算をする場合

name = 1

足し算:name += 2
引き算:name -= 2
掛け算:name *= 2
割り算:name /= 2
余り:name %= 2

で表現できる。


・展開関数:文字列の中に変数を突っ込む方法
例えば「私は○○歳です」という文章を書きたくて、○○の部分を変数で定義していたとしたら、以下のようなcodeとなる。

 

puts "私は#{age}歳です"

なお、””でないと変数が展開されないので注意が必要。

 

・大小比較の演算子

Aより大きい:変数 > A
A以上:変数 >= A
Aより小さい:変数 < A
A以下:変数 <= A
Aと同じ:変数 == A
Aと違う:変数 != A


・条件分岐(if、elsif、else)
例えばscoreが100点だったら”すばらしい”、60点以上だったら”合格です”、60点未満だったら”不合格!”と表示させたい場合のcodeは以下のとおり。

 

if score == 100
puts "素晴らしい"
elsif score >= 60
puts "合格です"
else
puts "不合格!"
end

elsifでeが省略されるのが面白かった。


・条件式の「かつ」「または」

 

かつ:条件式A && 条件式B …
または:条件式A || 条件式B …


・全体的に衝撃だったのは、;などで演算実行を区切るコマンドが一切なかったこと。書くのは手間じゃないけど、逆に読みにくいような気もする。

 

こんな感じです。どちらかというとcode表みたいになっちゃいましたね^^

次の単元以降、どんどん骨太になってくると期待しています!

 

ではでは、1日でも長く続けられるように頑張っていきます^^

同志の方、一緒に頑張っていきましょう!