無料学習のprogateでRuby学習コース基礎編をクリアしたよ

160806smn

利用のきっかけ

どうも、DAIMAです。
将来のため、土日休みもガリガリコードを書いておりす。
今の私のお仕事(webサイト制作)では、
もっぱらHTML、CSS、javascriptが活躍しています。

ですが、近々webアプリケーション開発の方面にも興味が湧いてきまして、
中でも近年での注目度と、開発者が同じ日本人の方であるというお話から
「ruby」という言語に強い関心を抱いておりました。

そこで、学習コストが少なく済むWeb上の学習サイトを探したところ、
「progate」という、無料のプログラミング学習サイトに出会ったのです。

webの学習サイトは、以前にも「codeacademy」を利用したことがあったのですが、
海外のサービスであり、英語が堪能でない私には少々厳しい点がありました。


このようなこともあり、日本語で学べ、前評判もよさげであった
progateの学習プランを利用することに決めました。

超「親切」な学習サイト

利用した感想ですが、
「progate」は、ヒジョ~~~~~~~~に親切丁寧な学習サイトでした。

imgimgimg

まず、サイトのデザインからしてとっつきやすいです。
極限まで情報を絞ったフラットデザインにかわいいキャラと、
まさに女性も子供も誰でもウェルカムといった印象です。

肝心の学習システムですが、こちらは「codeacademy」と同じく
事前に資料を読み、それを元に問題を解いていくスタイルを採っています。

「progate」ならではの魅力は、
資料が回答画面から独立したスライダー形式となっていて、
問題で躓くたびに、必要な個所を読み直せる点です。

スライダーの資料はレイアウトが綺麗でとても読みやすく、
問題が変わっても後から見直せるのが便利でした。

また、「progate」ではユーザごとに、RPGのようなLvの概念が存在し、
問題を解くたびに得られる経験値を溜めることで、
ユーザー自身のレベルを上げることが出来ます。

ちょっとしたことですが、こういう工夫があると
学習を進めるモチベーションアップに繋がりますね。

まだまだ学習を始めたばかりですが、
「progate」は、初心者のプログラミング学習に
最高の力を発揮するサービスではないかと感じました。

Ruby学習コース基礎編で学んだこと

さいごに、今回のRuby学習コース基礎編で学んだ内容の一部を
復習もかねて簡単にメモしておきます。

オブジェクトとメソッド

puts "Joster".length
#結果:7

Rubyでは文字列や数値はすべてオブジェクトとして扱われます。
また、オブジェクトはメソッドと呼ばれる命令を持っています。

この辺の特徴はjavascriptと同じですね。

文字列の中で変数を展開するには?

name = "daima"
"私の名前は#{daima}です"

#{}の中に変数を入れます。

オブジェクトの型を変換してみよう

puts 100 + "円を拾った" #数値と文字列を合成しようとしてエラー
puts 100.to_s + "円を拾った" #to_sで100を文字列に変換したのでOK

逆に、数値にする場合はto_iメソッドを使います

if文、else、elsif

x = 300

if x > 500 #最初の条件。当てはまったら直下の命令を実行
  puts "xの数値は500より大きいです"
elsif x > 200 #最初の条件に当てはまらなかったらこっち。「elseif」じゃないよ
  puts "xの数値は200より大きいです"
else #上記の条件すべてに当てはまらなかったらこっち
  puts "xの数値は200以下です"
end

endのつけ忘れに注意!

if文をよりシンプルに書く、unless文

x = 300
puts "xは200より大きいです" if x > 200

puts "xは7で割り切れない数字です" unless x%7 == 0

一行にスッキリ。rubyはコード量削減の工夫が随所にみられますね。
unless文は、if文と逆に条件に当てはまらなかったらtrueを返します。

case文

x = 1
case x
when 1
  puts "jhon"
when 2
  puts "paul" 
when 3
  puts "george"
else
 puts "rringo"
end

上の例だと「jhon」が出力されます。
if elseの文が複雑になりすぎるときにおすすめ。

配列

city =["tokyo","london","pekin"]
puts city[1]

puts city.size
#結果 3

上の例だと「london」が出力されます。
インデックス番号は0から数えるので、間違わないように注意。
また、配列オブジェクト専用のメソッドが用意されていて、
要素の数を数えたり、後から要素を追加したりもできます。

ハッシュ

user = {
  "name" => "空条承太郎",
  "age" => "29",
  "job" => "海洋冒険家"
}

puts user = ["job"]
#結果:海洋冒険家

user["stand"]="star-platinum"
#後からデータを追加するときはこう

配列とは似て非なるモノ。
矢印の左に「キー」、右に「値」を格納します。
このお互いペアの性質を利用してデータを取得したりします。