タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

クロージャとBlocksに関するmonoqloのブックマーク (5)

  • C/Objective-C + Blocks でクロージャ - TrashSUITE

    Blocks というのは Apple が C/C++/Objective-C 向けに独自実装したクロージャ的な機能.Snow Leopard リリース時に GCD すげぇ!という記事で見かけて『Apple やりやがった,あの変態やりやがった』くらいにしか思っていなかったのだけど,iPhone OS4.0 で使うことになりそうなので,ザックリと調べてみた ザクザクっとドキュメントを読みつつテストしつつという状態で書いたメモなので,嘘を書いている可能性が大いにある! 以下,Blocks をクロージャと呼ぶ シンプルに // 無名でダイレクトに呼ぶ ^(void) {puts("closure");}(); //=> closure ^() {puts("closure");}(); //=> closure ^{puts("closure");}(); //=> closure // 名前を付

  • enumerateObjectsUsingBlockの練習

    Objective-Cです。 enumerateObjectsUsingBlockを使ってみます。 Objective-CってC + Smalltalkと考えれば、何となくこの文法ってありなんだなーと。 Smalltalkってかなり昔からあるというのは知っています。 といいつつもSmalltalkのことわかってません.... ※^これがでてくるところとか... なじみがないので、混乱してしまいますが、温故知新ですかね。 #import <Foundation/NSArray.h> #import <Foundation/NSObject.h> #import <Foundation/NSString.h> #import <Foundation/NSAutoreleasePool.h> // NSMutableArrayだよ!! static NSMutableArray* array;

  • PerlエンジニアのためのObjective-C Blocks入門 - unknownplace.org

    OS X 10.6 以降の xcode では Objective-C に Blocks というシンタックスが追加されている。 Blocks Programming Topics: Introduction Perl でいうところの無名関数(コードブロック)を作ることができる機能で、Perlでいうところの my $f = sub { ... }; $f->(); は void (^f)() = ^{ ... }; f(); のように書ける。書式がきもいのはObjective-Cの定めなのであきらめましょう。 より詳しい書式については上記ドキュメントを見ると良い。 しかしデフォルトではPerlのコードブロックとはレキシカル変数の扱いが異なる。 my $i = 0; my $f = sub { return $i + 1 }; $i++; $f->(); # 2 を返す perlではこのようにレ

  • RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible

    書こう書こうと思ってたけど忘れてたのを、PerlエンジニアのためのObjective-C Blocks入門を見て思い出した。すいませんタイトルは便乗です。 試しに書いてみる Blocksってのが何者なのかはさっきの記事なりAppleのドキュメントなりを見てもらえばいいと思うんですが、まぁウケが良さそうなので付けたタイトルにのっとってRubyと比較してみる。 f = lambda {|x| puts "#{x}のこと以外は何も考えられない" } f.call("うどん") void (^f)(id) = ^(id x) { NSLog(@"世界の全てを敵に回しても、僕は%@の味方だ", x); }; f(@"うどん"); なんだ、そっくりじゃない。似てる似てる。 上がRuby版、下がObjC版。下は普通引数にはNSString*とかを使うと思うけど、まぁRuby版と挙動を合わせるためにidに

    RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible
  • Objective-Cでクロージャ? 〜 Blocks

    ► 2010 (165) ► 6月 (13) ► 5月 (31) ► 4月 (30) ► 3月 (31) ► 2月 (28) ► 1月 (32) ▼ 2009 (366) ► 12月 (31) ► 11月 (30) ► 10月 (31) ▼ 9月 (30) プチアプリ制作続き - FireFox3.5 のペーストボードタイプは? プチアプリ制作 - SafariのURLから HTMLの<A>タグを生成する Snow Leopard で導入された NSApplicationDelegate Programming in Objective-C 2.0 LiveLessons Bundle Tips: SimpleCap から Picasa へ画像をアップロードする WPSU(19) - WebKitで新規ウィンドウを開く(window.openオプション) WPSU(18) - WebKit

  • 1