Hatena::ブログ(Diary)

Windchase

2007.9.27

3項演算子のgcc拡張

http://tiki.is.os-omicron.org/tiki.cgi?c=v&p=gcc%A4%CE%B3%C8%C4%A5%B5%A1%C7%BD

今日、gcc 拡張で 3項演算子

x ? x : y

の最初の返値を省略して

x ?: y

と書けることを知った。

つまり、ruby

v = x || y || z

と書くところを、C でも

v = x ?: y ?: z;

こんな感じに書けるわけだ。これはいい。

この書き方だと、x や y が一度しか評価されないので、マクロを書くときに便利だと思う。

追記 (2007.9.28)

gcc では、|| を使うと 0 か 1 になるので、?: に利用価値がある。

printf("%d", 2 || 4);  // => 1
printf("%d", 2 ?: 4);  // => 2

2007.9.24

LimeChat for OSX 0.10 リリース

アイコンを追加したほか、ダイアログのUIを改善しました。

追加した機能

  • アプリケーションアイコン
  • ログ上のニックネームの右クリックメニュー
  • 既読マーク
  • /me コマンド
  • メンバリストのソート順序を変更

詳しくは、http://limechat.sourceforge.net/index_ja.html を参照してください。

2007.9.18

RubyCocoa 勉強会

今日の Akasaka.rb にて、RubyCocoa のチュートリアルを行いました。

前提知識なしで、スクラッチから RubyCocoa でアプリケーションを作っていくという内容だったのですが、1時間半で全員アプリケーションを動かせるところまでいけたので、うまくできたのかなと思います。

資料を、以下の URL に置いておきます。

http://limechat.net/rubycocoa/tutorial/

Xcode や InterfaceBuilder の細かい操作についても書いておきましたので、RubyCocoa に興味がある方は、ぜひ一度やってみてください。