エンジニアステップ

初心者エンジニア(1年目~3年目くらい)のための技術ブログ

プログラミング経験者がProgateでRubyを学んでみた記録【簡単でした】

ProgateのRuby独学

ProgateでRubyを学んでみた記録です。

私はプログラミング経験者で、他の言語はそこそこ書けます(C#、Java、JavaScript)。

Ruby(というか、Ruby on rails)に興味を持ったので、Rubyから勉強してみました。

いつもだと本やウェブサイトから学ぶのですが、試しにProgateを使って学んでみました。

スライドとイラストが丁寧でわかりやすかったです!

 

RubyⅠ【Progate学習】

「RubyⅠ」です。

レッスンをしっかりとやると修了時間 1h30mですが、大体雰囲気でわかったので手は動かしませんでした。

レッスン詳細の最後の課題を押して、スライドを遡ると一気に見られます。

 

学んだことは以下の通り

  • 出力の関数はputs
  • #{変数名}で変数展開ができる
  • 変数の型は定義不要
  • 変数名はスネークケース(小文字+アンダーバー)
  • if文で使うのは、else, elsif, end。条件式にカッコは不要

» 参考:Rubyの命名規約 - Qiita

 

RubyⅡ【Progate学習】

「Ruby Ⅱ」は1h45m必要なようですがこれもスキップ

 

学んだことは以下の通り

  • 「配列.each do |変数名|」~「end」までの間に実行処理を書ける
  • ハッシュは、{キー1 => 値1, キー2 => 値2}のように書く
  • キーの部分を文字列ではなくコロン「:」を付けてシンボル表記可能
  • ハッシュのキーにシンボルを用いると「:key =>」を「key:」と省略可能(シンタックスシュガーですね)
  • RubyのNULLは「nil」
  • true条件は「falseとnil以外」

 

Rubyはシンタックスシュガーが豊富そうです

 

RubyⅢ【Progate学習】

RubyⅢは1h10m必要なようですが、これもスライドを見るだけで済ませます。

 

学んだことは以下の通り

  • 「def メソッド名 end」でメソッド定義
  • メソッドの引数がないときには、メソッド呼び出し時にカッコは不要
  • キーワード引数を用いる方法①【定義側】引数の後にコロンを付ける ②【呼び出し側】値の前に引数名を書く 例:method(name:"hoge")

この辺りは簡単ですね。

 

RubyⅣ【Progate学習】

RubyⅣは2h必要なようですが、クラスを学ぶだけなので、これもスライドを見て終わり!

 

学んだことは以下の通り

  • classの定義にはendが必要
  • クラス定義時に「attr_accessor 変数名(シンボル)」を使い、インスタンス変数を持てる(
  • 新しいインスタンスの生成方法は「クラス名.new」
  • クラス生成時に呼び出す「initializeメソッド」
  • インスタンスメソッドの中で「self.変数名」でインスタンス変数を扱える
  • rbファイルの一番上の行で、「require "./ファイル名"」とすると読み込める

 

RubyⅤ【Progate学習】

RubyⅤは1h30m必要ですが、これもスルーしました。結局一切手を動かさず、知識だけ得て終わりました。

※視覚的で全体的に分かりやすいテキストでした

 

学んだことは以下の通り

  • 「class 新しいクラス名 < 元となるクラス名」で継承できる
  • オーバーライドメソッドの中で「super」で親クラスの同名メソッドを呼び出し可能
  • 関数名に疑問符「?」をつけると真偽値を返す
  • インスタンスメソッドとクラスメソッドは別物

 

Rubyはメソッドに!や?を付けられるんですね、衝撃でした…。

» 参考:Rubyの関数名の感嘆符「!」と疑問符「?」の意味 - ztbuz@dev

 

まとめ:Ruby学習の第1歩はProgateでも良いかも

Ruby学習の第1歩はProgateでも良いかも…という印象でした。

もちろん、最低限のことしか学べませんが、スライドがそれぞれ読みやすいので、理解しやすい教材だなー、と。

わざわざこのためにProgateに契約するか?というと微妙です.

ただ、他のプログラミング言語含めて学びたいなら、Progate有料(1000円分)の価値は十分あります。

 

以上、「プログラミング経験者がProgateでRubyを学んでみた記録」というお話でした。