Submit Search
ライブコーディング(?)で学ぶPerlオブジェクト指向
0 likes
710 views
azuma satoshi
1 of 19
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
More Related Content
PDF
プロトコル指向に想う世界観 #__swift__
Tomohiro Kumagai
PDF
Swift 2.0 で変わったところ「前編」 #cswift
Tomohiro Kumagai
PDF
リテラルと型の話 #__swift__
Tomohiro Kumagai
PDF
lazy var の特徴を知る #cocoa_kansai #cswift
Tomohiro Kumagai
PDF
I phoneアプリ入門 第5回
Sachiko Kajishima
PPTX
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
Kazuyoshi Kamitsukasa
PPTX
Perlでちょいモテデザインパターン
Yuki Manno
PDF
Pattern match with case class
Kai Sasaki
プロトコル指向に想う世界観 #__swift__
Tomohiro Kumagai
Swift 2.0 で変わったところ「前編」 #cswift
Tomohiro Kumagai
リテラルと型の話 #__swift__
Tomohiro Kumagai
lazy var の特徴を知る #cocoa_kansai #cswift
Tomohiro Kumagai
I phoneアプリ入門 第5回
Sachiko Kajishima
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
Kazuyoshi Kamitsukasa
Perlでちょいモテデザインパターン
Yuki Manno
Pattern match with case class
Kai Sasaki
Viewers also liked
(20)
PPTX
Microprocesadores[1]
Javier Santos
PPSX
GMM 2012 Chiamati a far risplendere la Parola di verità
Maike Loes
PDF
Watch my doc!
stoliros
PDF
Arp Attack
UKE Università Kore Enna - pagina ufficiale
PPT
Aprile
Maike Loes
PPTX
Oa 한글표준화
kimsoohyun
PPT
Febbraio
Maike Loes
PDF
Rabies
Vijayakumar Blathur
PPS
Mantra rus
Nataly Bogdanova
PDF
Novembre 2011
Maike Loes
PDF
Strumento di lavoro
Maike Loes
PPSX
Pati alegre (fil eminimizer)
Rafael Aroztegui Peñarroya
PPTX
Heather
heather114
PDF
Guidelines
Iryna Shvets
PDF
Family tree
35150
PPTX
How great thou art
Michele Kearns
PDF
Io vangelo iii_avvento_anno_b_14 dicembre
Maike Loes
DOC
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Violetta Joó
PPTX
Scuola dante alighieri
Annamara Montesi
PPT
Vasse 150910 wayne
VasseSep2010
Microprocesadores[1]
Javier Santos
GMM 2012 Chiamati a far risplendere la Parola di verità
Maike Loes
Watch my doc!
stoliros
Arp Attack
UKE Università Kore Enna - pagina ufficiale
Aprile
Maike Loes
Oa 한글표준화
kimsoohyun
Febbraio
Maike Loes
Rabies
Vijayakumar Blathur
Mantra rus
Nataly Bogdanova
Novembre 2011
Maike Loes
Strumento di lavoro
Maike Loes
Pati alegre (fil eminimizer)
Rafael Aroztegui Peñarroya
Heather
heather114
Guidelines
Iryna Shvets
Family tree
35150
How great thou art
Michele Kearns
Io vangelo iii_avvento_anno_b_14 dicembre
Maike Loes
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Violetta Joó
Scuola dante alighieri
Annamara Montesi
Vasse 150910 wayne
VasseSep2010
Ad
Similar to ライブコーディング(?)で学ぶPerlオブジェクト指向
(13)
PDF
大ざっぱにオブジェクト指向
azuma satoshi
KEY
20年越しで Perl 4 to 5 した話
outerinside
PPT
Simo Tutrial
Yuki Kimoto
PPT
Simo Tutrial
Yuki Kimoto
PPTX
Perl logging
keroyonn
PDF
プログラミング言語の理念いろいろ
Tomoki Suzuki
PPTX
ピカチュウによるPythonオブジェクト入門2
Mikio Kubo
PDF
Perl勉強会#2資料
Kiyo Tsunezumi
PDF
"What Does Your Code Smell Like?"で学ぶPerl6
risou
PDF
Alluren of prototype-based OOP
azuma satoshi
PDF
Perl 6 Object-Oliented Programming
risou
PDF
Oop
Rindou Katsura
PDF
YAPC::Asia Tokyo 2013 ランチセッション
Kuninobu SaSaki
大ざっぱにオブジェクト指向
azuma satoshi
20年越しで Perl 4 to 5 した話
outerinside
Simo Tutrial
Yuki Kimoto
Simo Tutrial
Yuki Kimoto
Perl logging
keroyonn
プログラミング言語の理念いろいろ
Tomoki Suzuki
ピカチュウによるPythonオブジェクト入門2
Mikio Kubo
Perl勉強会#2資料
Kiyo Tsunezumi
"What Does Your Code Smell Like?"で学ぶPerl6
risou
Alluren of prototype-based OOP
azuma satoshi
Perl 6 Object-Oliented Programming
risou
Oop
Rindou Katsura
YAPC::Asia Tokyo 2013 ランチセッション
Kuninobu SaSaki
Ad
More from azuma satoshi
(20)
PPTX
zの力をPerlに持ってきた話 @湘.なんか #2 by わいとん a.k.a. ytnobody
azuma satoshi
PPTX
Elixirで関数型言語の設計を学ぶ - daimon.ex 2024-09-20
azuma satoshi
PPTX
湘なんか#1 え!!JavaScriptでパイプラインを? by @ytnobody
azuma satoshi
PPTX
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
PPTX
finally (not finally)
azuma satoshi
PPTX
時を駆けるINSERT.pptx
azuma satoshi
PPTX
できる!サーバレスアーキテクチャ
azuma satoshi
PDF
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
azuma satoshi
PDF
L tthon
azuma satoshi
PDF
Perlbeginnes 9 lt_ytnobody
azuma satoshi
PDF
Perlbeginnes 9 opening
azuma satoshi
PDF
Perlbeginners proposal
azuma satoshi
ODP
Chibapm01 lt
azuma satoshi
PDF
入れ子構造を分解する
azuma satoshi
PDF
YAPC::Asia 2012 CPANに恩返ししよう
azuma satoshi
PDF
Perlbeginnes 4 keynote
azuma satoshi
PDF
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
azuma satoshi
PDF
Perlbeginners 3 opening talk
azuma satoshi
PDF
PSGIへの誘い
azuma satoshi
PDF
Perlbeginnes 2 keynote
azuma satoshi
zの力をPerlに持ってきた話 @湘.なんか #2 by わいとん a.k.a. ytnobody
azuma satoshi
Elixirで関数型言語の設計を学ぶ - daimon.ex 2024-09-20
azuma satoshi
湘なんか#1 え!!JavaScriptでパイプラインを? by @ytnobody
azuma satoshi
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
finally (not finally)
azuma satoshi
時を駆けるINSERT.pptx
azuma satoshi
できる!サーバレスアーキテクチャ
azuma satoshi
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
azuma satoshi
L tthon
azuma satoshi
Perlbeginnes 9 lt_ytnobody
azuma satoshi
Perlbeginnes 9 opening
azuma satoshi
Perlbeginners proposal
azuma satoshi
Chibapm01 lt
azuma satoshi
入れ子構造を分解する
azuma satoshi
YAPC::Asia 2012 CPANに恩返ししよう
azuma satoshi
Perlbeginnes 4 keynote
azuma satoshi
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
azuma satoshi
Perlbeginners 3 opening talk
azuma satoshi
PSGIへの誘い
azuma satoshi
Perlbeginnes 2 keynote
azuma satoshi
ライブコーディング(?)で学ぶPerlオブジェクト指向
1.
ライブコーディング(?)で学ぶ Perl
オブジェクト指向 Perl Beginners #4 Lightning Talk @ytnobody
2.
ネタ的に 時間オーバーの予感
3.
銅鑼ないので あまり気にしてませんが
4.
オブジェクト指向とはなんぞや
5.
手前味噌ですが、
Perl Beginners #1 LT 「大ざっぱにオブジェクト指向」 http://xrl.us/perlbeginners-roughoop をご覧ください。
6.
今回はライブコーディングを通して Perlのオブジェクト指向を
知ってもらおうと思っています
7.
よくある例:Animalクラス ●
Cryという変数を持っている ● 鳴き声を表現 ● Barkというメソッドを持っている ● Cry変数で指定された鳴き声で鳴くことができる
8.
DEMO: 動物を鳴かせよう ●
Animalクラスを定義 ● Animalオブジェクトを$catに格納 ● $cat に “meow” と鳴かせる ● Animalオブジェクトを$dogに格納 ● $dog に “bow” と鳴かせる
9.
シンプルだが面倒 ●
毎回鳴き声を定義するのが億劫。 ● そもそも俺は猫を定義したいんだ! ● じゃあどうする? ● 「継承」という概念を取り入れよう
10.
継承を取り入れると
継承 Cat クラス Animal クラス
11.
DEMO: 猫を鳴かせよう ●
Animalクラスを継承したCatクラスを定義する ● 鳴き声は基本”meow” ● $catにCatオブジェクトを格納する ● $catに “meow” と鳴かせる
12.
DEMO: 鳥を飛ばそう ●
Animalクラスを派生させて、Birdクラスも定義しよう ● 鳴き声は特に指定なし ● Flyメソッドを追加する – 鳥だから飛べるはず ● $birdにBirdオブジェクトを格納する ● $birdを飛ばす
13.
DEMO:キメラをつくろう ●
CatとBirdの両方を継承する Chimera クラスを定義 ● $chimera に Chimeraオブジェクトを格納 ● $chimeraを飛ばす ● さらに”meow”と鳴かせる
14.
コウモリを作りたいが・・・ ●
コウモリは鳥じゃない ● でも飛べる ● どうする・・・ ● 「飛ぶ」能力だけを他のクラスに分ける – Mixinといいます – Exporterを使うといいんじゃないですか ● Animal::Mixin::Fly というクラスに定義してみる
15.
DEMO: コウモリを作る ●
Animal::Mixin::Fly を定義する ● Batクラスを定義する ● 鳴き声は”geeh!” ● Animal::Mixin::Flyをuseするのを忘れないように。。。 ● $bat に Batオブジェクトを格納する ● $batを飛ばす & 鳴かす
16.
クラスを定義するのに 便利なCPANモジュール ●
Class::Accessor::Fast ● アクセッサと呼ばれるメソッドを簡単に定義できる ● Mouse ● アクセッサに型指定や読み書きの権限を設定できる ● Mixin(MouseではRoleと呼ぶ)の実装が楽 ● 自動的にuse strict; use warnings; される
17.
DEMO こんどはMouseでコウモリを
つくってみる
18.
まとめ ●
“package Foo::Bar;” でクラスを定義 ● 1ファイルにつき1クラスが見通しよくていい感じ ● オブジェクト = bless { some => 'data', ... }, $classname; ● コンストラクタ(newとか)はこれをreturnする関数 ● 継承を使うと、親クラスにある機能は全部使える ● 親を複数指定してもOK(キメラのように) ● クラスにないメソッドは呼べません ● Mixinを使うと、あとからメソッドを追加できます Exporterでmixinクラスを作る – – Mouse と Mouse::Roleを使って対応する ● クラスの最後は真を置くべし! ● 1; とか、 'Happy hacking! ('; とか。 – 普通はだいたい”1;”
19.
ありがとうございました
Download