本日のお勉強(Ruby)

2008年11月21日 20:48

081121_ruby.gif今日はRailsの勉強をちょっと休んで、Ruby本体のお勉強。
Yuguiさん著の「始めてのRuby」が届いたのでね。

この本、表紙から分かるようにオライリーの本ですが、オライリーの「初めての○○(Learning ○○)」の例には漏れていて、翻訳ではなく書き下ろしです。

まだ少ししか読んでないけど、ごく個人的なメモを。

▼shebang
 以前も書いたshebang(シェバング)について記述がありました。

 UNIXシステムやGNU/Linuxシステムではshebangを頼りに、ソースコード自体を実行可能なプログラムにすることができます。

 なるほど。このソースに実行可能属性(chmod +x)すると、以下で実行できるようになる、と。
$./hello.rb

▼::
 Javaから来た私が慣れない記法に「::」があります。

 「Stringオブジェクトのインスタンスメソッドeach_byte」のことを「String#each_byte」と書く慣習があります。また、「Timeクラスのクラスメソッドnow」のことを「Time.now」あるいは「Time::now」と表します。

 なるほど! クラスメソッドを表す時にも使うんですね。でも、継承の場合はちょっと違いますよね。
class Transcript < ActiveRecord::Base

 ここで使われている「::」は、やはりスコープを表していると思います。

▼コードゴルフ
 標準入出力への書き出しについてprintf、putsなどがよく使われていますが、pメソッドも紹介されています。irbと共に重宝するが、デバッグや学習、コードゴルフ以外に使うのはお行儀が悪いとのこと。コードゴルフというのは初めて聞きましたが、「課題に対しての実装コードの短さを争う協議」ですって。面白いですね。

▼シンタックスシュガー
 シンタックスシュガーという表現がよく出てきます。以前、Matzさんの連載では「ブロックは単なるシンタックスシュガー(文法的なお化粧)」と訳されていました。比較的、自由な表記が可能なRubyならでは、ってことになるのでしょうか。




コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://silvertone2.blog110.fc2.com/tb.php/3277-f1cac2e7
    この記事へのトラックバック


    最近、エントリしたもの