Objective-CとPyObjCに関する備忘録 其の一
投稿日:2007/11/12 04:59:15
過去の記事は移行時の問題により、画像が表示されなかったり、レイアウトが崩れたりしている可能性があります。
Tweet
Objective-Cの世界では、こんな感じでメソッドを使うわけですが、
[code]dict = [NSDictionary dictionaryWithObject:@"PyObjC" forKey:@"Python"];[/code]
これをPyObjCで書くと、
[python]dict = NSDictionary.dictionaryWithObject_forKey_(u'PyObjC', u'Python')[/python]
こんな感じにやたらと長いメソッドになります。
Objective-Cが引数にラベル名をつけるとか、特殊な実装してます。SmallTalkがこういう感じなんですかね。知らないですが。
PyObjCでは、メソッド名をアンダースコアで区切ってラベルをくっつけます。さらに最後がアンダースコアで終わります。
@IBActionでデコレートしたメソッド(アクションメッセージを送信する)での話ですが、
気軽にアンダースコアで区切ったメソッド名を使うと痛い目にあいます。(あいました。)
PEP8とかDjangoの標準コーディング規約で、メソッド名をアンダースコアでって言われてるのでなんか違和感あります。
PyObjCのコーディングするときは、mixedCaseに統一すべきなのでしょうか。
PEP8だと、広く使われている文脈なら仕方ないから使ってもいいって書いてあるなあ。
PEP8 - Style Guide for Python Code(和訳)
Django プロジェクトに協力するために - コーディングスタイル
- Posted at:
- 2007/11/12 04:59:15
- 0 Comments
- 0 TrackBacks
- Tags:
- Trackback:
- http://blog.monospace.jp/2007/11/12/objc_memo_01/trackback/
TrackBacks
まだ登録されていません。
Comments
まだ登録されていません。