久々にRoRネタで。
Javaプログラマで、Ruby初心者であるワタシがハマったRuby(とRoR)の仕様について、メモ残そうかと。
・
Railsのチュートリアルをいくつかコナして、「さ、何か作ってみるか!」と意気込んでscaffoldした・・・までは良かったんですが、そこでパッタリと手が止まってしまいました。
書けん・・・。チュートリアルに沿ってやってたときは、分かった気になってただけだったのか?
何が分からないって、Rubyのソースがイマイチ読めない。Railsの仕組みは理解したつもりなんですが、やっぱそれを実装しているRubyの言語仕様も分かってないとダメだと、最近気付きました。感覚で読めるかと思ったんですが、ワタシのアタマも大分固くなってきたんでしょうか。お恥ずかしい限りで・・・。
で、恐らくこれはワタシだけじゃなく、Javaプログラマ:特にCOBOLチックな基幹系のJava中心にやってた人たちは、みんなハマるんじゃないかと思いまして。
”裾野を広げる”と言っている以上、先頭切って恥をかくのもワタシの仕事・・・と勝手に思いまして、小ネタをここにUPしていくことにします。
具体的に「こりゃ勉強しないと」と思ったのは、
- シンボル
- ブロック
- 特異メソッド
- Mix-in(≒JavaのInterface?)
あたりでしょうか。
今回は、まずは「シンボル」から。
ハッシュのキーに使ったり、Railsでは頻繁に登場します。
ですが、どのRails本読んでも、「定数のようなもの」とかしか書いてなくて、どうもイメージがつかめません。
しかも、ハッシュのキーをシンボル(:Hoge)じゃなくストリング(’Hoge’)にしても動いちゃう(※)ので、ますます分からなくなってしまいまして。
(※)これはRailsクンの仕様みたいです。
で、ググったら、同じような疑問を持った人がチラホラ。
こちらの記事(Rubyのシンボル(:コロン))を読んでだいたい理解できました。
でも、使いどころがまだモヤモヤしてたんですが、こちらの説明 でかなりスッキリしました。
定数の値に深い意味はなくて、名前を付けることだけに意味がある場合は、Symbolを使えばいいわけです。
と。なるほど。
慣れるしかないですね。目指せ、Rails脳!!
僕もなかなかスクリプト脳にならなくて悪戦苦闘中です。
同じく感覚でなんとかなるだろうと思ってましたがダメですね。。
お互いがんばりましょう。
> tech note さん
コメントありがとうございます。
tech note さんのブログ、他の記事もとても参考になることが多くて勉強になります。これからもよろしくおねがいします。