プログラミングとデザイン、スタートアップの話

プログラミングやデザイン、スタートアップ関連についての雑記

Ruby on Railsを学ぶ時に勉強しておきたい4つのRubyの知識

昨日の記事にRubyとRailsの違いについて紹介した。Rails初心者はRubyとRailsの違いが理解できていないことが多いが、その違いを説明したものが昨日の記事なので、今の段階では理解できているだろう。その記事内で紹介したが、初心者は基本的にRailsをメインに勉強すれば良いが、それと合わせて最低限のRubyの知識も必要となる。

本記事では、Railsを扱う時に最低限身に付けておいたほうが良いRubyの4つの知識の概要を簡単に紹介する。細かい知識などは説明しない。この4つの知識を本などでしっかり学んでほしい。

初心者が最低限学んでおきたい4つのRubyの知識

1. 変数

文字列や数値などの値に名称をつけ、その値を格納するための入れ物のことを変数と呼ぶ。Rubyで扱うことのできる変数は何種類かあり、ローカル変数やグローバル変数、インスタンス変数などだ。変数というのはどのプログラミング言語でも使用するし、RailsでWebサービス等を作る際には間違いなく使う。したがって、Railsを使うならRubyの変数の扱い方を頭に入れておくべきだ。

特に、ローカル変数とインスタンス変数の違いが曖昧なままRailsでの開発を行っている初心者が多く、この知識が不十分であるが故に低レベルなバグでつまってしまう人が多い

2. 配列

配列とは、複数のオブジェクト(もの)を1つのグループとしてまとめて管理するために使用するものである。例えば、ユーザーの氏名をグループ化しているuser_namesのような配列などだ。

変数と同様、配列もほとんどの開発において必須であるため、配列の作り方や扱い方を知っておいたほうが良い。

3. 繰り返し

Railsを使ったことがある人なら、「each」や「times」のような言葉を見たことがあるのではないだろうか?これらは繰り返しと呼ばれるプログラム処理で使うものである。

ユーザー一覧を表示したい時に、@users.each do |user|のように繰り返し(ループ)を使う。これまで紹介した2つの知識と同様、ほとんどの場合に使う処理であるため、必ず覚える必要がある。Rubyの繰り返し処理には色々な方法があるが、初心者はひとまずeachさえ覚えておけば良い

4. 条件分岐

条件分岐とは、条件によって処理を分けることを指す。if文やcase文などだ。

Railsの場合、generateコマンドを使って生成したファイルにデフォルトで条件分岐のif文が書かれたりしているのだが、デフォルトで生成されるがゆえにその挙動を理解していない初心者が多い。そのような状態で開発を進めてしまうと、できた気になるだけで実際に自分でif文を書きたい時に書けなくなってしまう

複雑な条件分岐は覚えなくてよいので、まずはif文とunless文から覚えよう。

おわりに

Railsを勉強するときにRubyをどれくらい勉強すべきなのかどうかは初心者が悩みがちなポイントである。たまにRailsだけでいいという人がいるが、それだと結局プログラミングを理解できず、自分の書きたいコードが書けなくなってしまう。

良くも悪くも、Railsは初心者でもWebサービスが簡単に開発できるようなフレームワークであるため、Rubyを理解していなくてもWebサービスを作れた気になってしまう。でも実際には理解不足であるため、自分で一からWebサービスを作ることができなくなってしまう。

とはいえ、Railsと平行してRubyの全ての知識を勉強することは初心者にとっては退屈なものになるため、上記4つの点に絞って紹介した。この4つを覚えれば十分というわけではなく、まずRubyの何を学べばいいのかという最初のステップの参考にされたい。

Rubyを勉強する際にオススメの本は下記で紹介している。 harv-tech.hatenablog.com