Apple - QuickTime - WWDC 2008 Keynote http://events.apple.com.edgesuite.net/0806wdt546x/event/index.html
iTunes Store Podcast - WWDC 2008 Keynote Adress http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?i=26717006&id=275834665
ちょっと遅れましたが、WWDC 2008 基調講演 (Podcast版) を iTunes でダウンロードして見ました。iPhone SDKにも挑戦しているので、iPhone はぜひ購入したいですね!
話は変わりますが、書籍
- 作者: 荻原剛志
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/05/28
- メディア: 大型本
- 購入: 52人 クリック: 599回
- この商品を含むブログ (148件) を見る
を購入しました。
以前、発売されていた
- 作者: 荻原剛志
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/04/07
- メディア: 大型本
- クリック: 93回
- この商品を含むブログ (24件) を見る
- 作者: 荻原剛志
- 出版社/メーカー: 広文社
- 発売日: 2001/06
- メディア: 単行本
- クリック: 21回
- この商品を含むブログ (8件) を見る
の2冊も持っています。
私は、以前説明されていた重複箇所は読んでいません。おおまかに
CHAPTER 6 ガーベジコレクション CHAPTER 11 プロコトル 11-04 高速プロコトルと列挙子 CHAPTER 12 宣言プロパティとアクセサ
を読みました。特に11章の ‘高速列挙の実装例’ は大変参考になりました。基本的に
The Objective-C 2.0 Programming Language: Introduction to The Objective-C 2.0 Programming Language http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html
を読んで理解していることが正しいのか、確認に利用しました。日本語の資料は貴重なので、持っていて損しないと思います。
また、以前ブログ [ id:KYoshiaki:20080413 ] で書いたように
Practical Common Lisp (Books for Professionals by Professionals)
- 作者: Peter Seibel
- 出版社/メーカー: Apress
- 発売日: 2005/04/30
- メディア: ハードカバー
- クリック: 25回
- この商品を含むブログ (15件) を見る
を読んでいる途中だったのですが、前々から Python に興味があったので、洋書
- 作者: Mark Lutz
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2007/10
- メディア: ペーパーバック
- クリック: 16回
- この商品を含むブログ (6件) を見る
を購入してみました。Python に関しては
- 作者: 柴田淳
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/22
- メディア: 単行本
- 購入: 11人 クリック: 585回
- この商品を含むブログ (180件) を見る
を読んだ知識しかありませんし、ほとんど忘れてしまいました。
Learning Python (asin:0596513984) は基本を学ぶには最適な本だと思います。
みんなのPython (asin:479733665X) では理解できなかった while 文の else の動作が理解できました。(他の言語では、あまり見かけない動作です。)
while: if : break if : continue else:
インタラクティブシェル (対話型シェル) を利用して、試すと
>>> x=5 >>> while x: ... print x ... x=x-1 ... else: ... print 'exit' ... 5 4 3 2 1 exit >>>
>>> x=5 >>> while x: ... print x ... x=x-1 ... if x==2: break ... else: ... print 'exit' ... 5 4 3 >>>
のような動作になります。同様に for 文にも else があります。
また、何度も object reference、変更可能 (mutable)、変更不可能 (immutable) の違いを説明されます。
例えば、インタラクティブシェル (対話型シェル) を使って説明すると
>>> L = [1, 2] >>> M = L >>> L = L + [3, 4] >>> L, M ([1, 2, 3, 4], [1, 2]) >>>
ここで
L = L + [3, 4]
は、L = [1, 2] + [3, 4] となり、L に新しく作成したオブジェクト [1, 2, 3, 4] を割り当てています。
その結果
L = [1, 2, 3, 4]
M = [1, 2]
になります。
>>> L = [1, 2] >>> M = L >>> L += [3, 4] >>> L, M ([1, 2, 3, 4], [1, 2, 3, 4])
この場合 L += [3, 4] は L、M が参照しているオブジェクトに [3, 4] を追加しているので L、Mの結果は同じ [1, 2, 3, 4] になります。下の append、extend を利用した例も同じ動作です。
>>> L = [1, 2] >>> M = L >>> L.append(3) >>> L.append(4) >>> L, M ([1, 2, 3, 4], [1, 2, 3, 4])
>>> L = [1, 2] >>> M = L >>> L.extend([3, 4]) >>> L, M ([1, 2, 3, 4], [1, 2, 3, 4]) >>>
Learning Python (asin:0596513984) は暇を見つけて、こつこつ読んでいます。現在、420 ページほど読みました。Practical Common Lisp (asin:1590592395) は最後まで読んでいませんが、Learning Python (asin:0596513984]) は読破したいですね!