• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

Title

« Passengerで、ときどきspawnサーバが落ちる | 今朝のObjective-Cの勉強 »
  • Objective-Cを使ってみる 2008-07-11 00:23:51

    ひょんなことからObjective-Cの勉強をちょっとしてみた。
    最初はMacがないと使えないと思っていたのだけど、gccでコンパイルできることがわかった。すばらしい。

    sudo aptitude install gobjc
    

    環境構築はこれでOK。あとはgccかけるときに-lobjcをつけてあげます。

    gcc test.m -lobjc
    

    こんな感じ。Objective-Cのファイル名の拡張子はmだそうです。

    Objective-Cは基本的にC言語みたいです。変な記法でオブジェクトが使えるようになったC言語。
    たとえばRubyで

    class Tsukasa < Oishi
      def say
        puts "hello, world!"
      end
    end
    a = Tsukasa.net
    a.say
    

    というようなコードがあったとき、Objective-Cでは

    #import <stdio.h>
    #import <objc/Object.h>
    
    @interface Tsukasa : Oishi
    - (void)say;
    @end
    
    @implementation Tsukasa
    - (void)say {
      printf("hello, world!\n");
    }
    @end
    
    int main(void) {
      id a = [Tsukasa new];
      [a say];
    }
    

    と書きます。同じクラスを2回書いているように見えますが、@interfaceのところはクラスの宣言で、@implementationでメソッドを実際に定義します。メソッド名の前のカッコは返り値で、その前の「-(マイナス)」はインスタンスメソッドであることを示しています。クラスメソッドのときは「+(プラス)」を使います。
    実際にメソッドを呼び出すとははかぎ括弧で指定します。最初にレシーバを書いて、次にメソッドと引数が続きます。
    idというのはインスタンスを表しているObjective-Cの型で、基本的にはvoid*みたいなものだそう。だから、

      Tsukasa * a = [Tsukasa new];
    

    と書いてもOKなのです。
    書き方がちょっと変だけど、C++よりはとっつきやすそうです。もっといろいろ勉強してみよう。

    Commentコメント(0) Pageリンク元(30) Append 532
  • 愚か者死すべし
    メディア: 単行本
    文庫版 百器徒然袋―雨 (講談社文庫)
    メディア: 文庫
« Passengerで、ときどきspawnサーバが落ちる | 今朝のObjective-Cの勉強 »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.ubuntu8.04でデュアルディスプレイを使う
  • 6.restful_authenticationを使ってみた
  • 7.URLなど、長い英字を折り返して表示する方法
  • 8.Rspecでコントローラのspecファイルを書く
  • 9.RailsとPostfixで受信メールを処理する方法
  • 10.フラグメントキャッシュをRailsで使う。

コメント

  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)
  • ユル(バイクがへたくそになっていた)
  • おおいしつかさ(便利になって不便になる)
  • 武石(便利になって不便になる)
  • ユル(劇場版 天元突破グレンラガン)
  • ユル(フラニーとゾーイー (新潮文庫): サリンジャー, 野崎 孝: 本)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月

キーワード一覧

ActionScript AmazonResources git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画