Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Shinya Hayakawa
3,143 views
ドキッ!記号だらけの無名関数
Shibuya Perl Mongersテクニカルトーク#17でのLTです。
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 37
2
/ 37
3
/ 37
4
/ 37
5
/ 37
6
/ 37
7
/ 37
8
/ 37
9
/ 37
10
/ 37
11
/ 37
12
/ 37
13
/ 37
14
/ 37
15
/ 37
16
/ 37
17
/ 37
18
/ 37
19
/ 37
20
/ 37
21
/ 37
22
/ 37
23
/ 37
24
/ 37
25
/ 37
26
/ 37
27
/ 37
28
/ 37
29
/ 37
30
/ 37
31
/ 37
32
/ 37
33
/ 37
34
/ 37
35
/ 37
36
/ 37
37
/ 37
More Related Content
PDF
F#によるFunctional Programming入門
by
bleis tift
PDF
Emcpp item31
by
mitsutaka_takeda
PDF
ゆとりが数週間でC++を始めるようです
by
Eric Sartre
PDF
Better C#の脱却を目指して
by
bleis tift
PPT
Impractical Introduction of Boost Spirit Qi [PPT]
by
yak1ex
PDF
Unity2015_No10_~UGUI&Audio~
by
CHY72
PDF
Scala 初心者が米田の補題を Scala で考えてみた
by
Kazuyuki TAKASE
PDF
並行プログラミングと継続モナド
by
Kousuke Ruichi
F#によるFunctional Programming入門
by
bleis tift
Emcpp item31
by
mitsutaka_takeda
ゆとりが数週間でC++を始めるようです
by
Eric Sartre
Better C#の脱却を目指して
by
bleis tift
Impractical Introduction of Boost Spirit Qi [PPT]
by
yak1ex
Unity2015_No10_~UGUI&Audio~
by
CHY72
Scala 初心者が米田の補題を Scala で考えてみた
by
Kazuyuki TAKASE
並行プログラミングと継続モナド
by
Kousuke Ruichi
What's hot
PDF
yieldとreturnの話
by
bleis tift
PDF
Emcjp item21
by
MITSUNARI Shigeo
PDF
templateとautoの型推論
by
MITSUNARI Shigeo
PPTX
Brief introduction of Boost.ICL
by
yak1ex
PPTX
C++14言語編
by
Mitsuru Kariya
PDF
モナドハンズオン前座
by
bleis tift
PDF
組み込みでこそC++を使う10の理由
by
kikairoya
PPTX
Effective modern C++ 勉強会 #3 Item 12
by
Keisuke Fukuda
PPTX
クソザコ鳥頭が非順序連想コンテナに入門してみた
by
Mitsuru Kariya
PPT
言語処理系入門3
by
Kenta Hattori
PPTX
定理証明言語によるハードウェア検証
by
Shunji Nishimura
PPTX
競技プログラミングのためのC++入門
by
natrium11321
PDF
.NET系開発者から見たJava
by
bleis tift
PDF
Emcjp item33,34
by
MITSUNARI Shigeo
PDF
Scala 初心者が Hom 函手を Scala で考えてみた
by
Kazuyuki TAKASE
PPT
言語処理系入門2
by
Kenta Hattori
PPTX
C++0x総復習
by
道化師 堂華
PPT
言語処理系入門1
by
Kenta Hattori
PPTX
C++ tips4 cv修飾編
by
道化師 堂華
PDF
現実(えくせる)と戦う話
by
bleis tift
yieldとreturnの話
by
bleis tift
Emcjp item21
by
MITSUNARI Shigeo
templateとautoの型推論
by
MITSUNARI Shigeo
Brief introduction of Boost.ICL
by
yak1ex
C++14言語編
by
Mitsuru Kariya
モナドハンズオン前座
by
bleis tift
組み込みでこそC++を使う10の理由
by
kikairoya
Effective modern C++ 勉強会 #3 Item 12
by
Keisuke Fukuda
クソザコ鳥頭が非順序連想コンテナに入門してみた
by
Mitsuru Kariya
言語処理系入門3
by
Kenta Hattori
定理証明言語によるハードウェア検証
by
Shunji Nishimura
競技プログラミングのためのC++入門
by
natrium11321
.NET系開発者から見たJava
by
bleis tift
Emcjp item33,34
by
MITSUNARI Shigeo
Scala 初心者が Hom 函手を Scala で考えてみた
by
Kazuyuki TAKASE
言語処理系入門2
by
Kenta Hattori
C++0x総復習
by
道化師 堂華
言語処理系入門1
by
Kenta Hattori
C++ tips4 cv修飾編
by
道化師 堂華
現実(えくせる)と戦う話
by
bleis tift
Viewers also liked
PPTX
Class projects
by
Tina Salacup
PPTX
NZKR Family Tree Paert 2
by
manalino
PPTX
Branding powepoint
by
Daniel Gold
PDF
презентация гуревич и.к.
by
Anton Surov
DOCX
Stl bus journal 05 03 13 - river city empire
by
Major Brands
DOC
выступление по компетенциям
by
Demanessa
PPT
Gertrude stein's world
by
davidstevenbrooks
PPT
Who are
by
sinaloa1
PPTX
Μονή Οσίου Λουκά
by
paraskevit
DOCX
Lenovo hall
by
dm0490126
PPTX
Rio+20 module, part 1 11.30.11 don
by
ANPED1
PDF
Workshop key note article
by
Nazmul Karim
PPTX
Prezentacja1
by
Karolina Ewa Leman
PPTX
MOETS Club Class Events
by
Rahil Bindra
PDF
Contemporary
by
sinaloa1
DOC
выступл.на конференции
by
Demanessa
PPTX
Zita 111216
by
Tomoyuki Suzuki
PDF
Contemporary
by
sinaloa1
PPTX
سيكولوجيه الابتكار
by
M_taqniyat
PDF
Carbon tax. impacts on businesses and individuals
by
LOVETTS Consulting Accountans and Business Advisers
Class projects
by
Tina Salacup
NZKR Family Tree Paert 2
by
manalino
Branding powepoint
by
Daniel Gold
презентация гуревич и.к.
by
Anton Surov
Stl bus journal 05 03 13 - river city empire
by
Major Brands
выступление по компетенциям
by
Demanessa
Gertrude stein's world
by
davidstevenbrooks
Who are
by
sinaloa1
Μονή Οσίου Λουκά
by
paraskevit
Lenovo hall
by
dm0490126
Rio+20 module, part 1 11.30.11 don
by
ANPED1
Workshop key note article
by
Nazmul Karim
Prezentacja1
by
Karolina Ewa Leman
MOETS Club Class Events
by
Rahil Bindra
Contemporary
by
sinaloa1
выступл.на конференции
by
Demanessa
Zita 111216
by
Tomoyuki Suzuki
Contemporary
by
sinaloa1
سيكولوجيه الابتكار
by
M_taqniyat
Carbon tax. impacts on businesses and individuals
by
LOVETTS Consulting Accountans and Business Advisers
More from Shinya Hayakawa
PPTX
近現代史勉強会 #1
by
Shinya Hayakawa
PDF
Oculus Game Jam in Japan #3
by
Shinya Hayakawa
PDF
casualにRubyをパースしてみたい
by
Shinya Hayakawa
PDF
第1回 プログラマのための計算機科学
by
Shinya Hayakawa
PDF
プログラマのための計算機科学はじめました
by
Shinya Hayakawa
PDF
思いやりプログラミング 2013
by
Shinya Hayakawa
PDF
イラストでGit! agatsuma.survive#03
by
Shinya Hayakawa
PDF
guRuby Community Appeal in RubyKaigi 2013 (safe ver.)
by
Shinya Hayakawa
PDF
魔法少女のまど★ワーカ(手書きver)
by
Shinya Hayakawa
PDF
Vi Boot Camp #1
by
Shinya Hayakawa
近現代史勉強会 #1
by
Shinya Hayakawa
Oculus Game Jam in Japan #3
by
Shinya Hayakawa
casualにRubyをパースしてみたい
by
Shinya Hayakawa
第1回 プログラマのための計算機科学
by
Shinya Hayakawa
プログラマのための計算機科学はじめました
by
Shinya Hayakawa
思いやりプログラミング 2013
by
Shinya Hayakawa
イラストでGit! agatsuma.survive#03
by
Shinya Hayakawa
guRuby Community Appeal in RubyKaigi 2013 (safe ver.)
by
Shinya Hayakawa
魔法少女のまど★ワーカ(手書きver)
by
Shinya Hayakawa
Vi Boot Camp #1
by
Shinya Hayakawa
ドキッ!記号だらけの無名関数
1.
ポロリもあるよ!
2.
記号だらけの 無名関数 Shinya Hayakawa TSURUMAU Shibuya.pm #17 2015/06/02 ドキッ!
3.
自己紹介 昔は Perl を使ってました CPAN
Authorではない
4.
「lambda 完全解説」 http://cpplover.blogspot.jp/2009/11/lambda.html
5.
「lambdaを定義しよう」 int main() { [](){} ; }
6.
「lambdaを呼び出そう」 int main() { [](){}() ; }
7.
「lambdaの文法解説」 int main() { [] //
[ lambda-capture ] () // ( parameter-declaration-clause ) {} // compound-statement () // Function call expression ; }
8.
Perlでもやりたく なりますよね?
9.
準備 括弧のみで可能な記述 syntax OKな項を探す 黒魔術には頼らない
10.
括弧のみ [] () {} 3 通り
11.
括弧のみ [] () {} syntax OK syntax OK syntax
OK 3 通り
12.
括弧のペア [][] []() []{} ()[] ()() (){} {}[] {}() {}{} 3 x 3
= 9 通り
13.
括弧のペア [][] []() []{} ()[] ()() (){} {}[] {}() {}{} 3 x 3
= 9 通り syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error
14.
注目 ()[]
15.
list slice |'(' expr
')' '[' expr ‘]’ … |'(' ')' '[' expr ‘]’ ! - perly.y
16.
修正後 ()[()]
17.
修正後 ()[()] syntax OK
18.
我々は ()[()]を 手に入れました
19.
ところで
20.
scalar or list? ()[…] ココ
21.
scalar or list? (LIST)[LIST] プログラミングPerl第3版
p.87
22.
問題1.1☆ print( ("foo")[()] );
23.
問題1.1☆ print( ("foo")[()] ); → ""
24.
問題1.2☆☆ print scalar( ("foo")[()] );
25.
問題1.2☆☆ print scalar( ("foo")[()] ); → foo
26.
解説 リストをリストコンテキスト以外で評価した時 のアレ。 カンマ演算子でスタックに積まれた値の最後 以外が捨てられる。 $x = ("a","b","c");
# $x="c" $x = ("a")[2,1,0]; # $x="a"
27.
()は数値で…? 0+(); " 0 int(());
" 0
28.
解説 最後の値である()が数値で0と評価 され、リストの0番目の要素となる $x = ("foo")[()]; "
$x = "foo"
29.
応用 $x = ("foo")[()]; $x
= ("foo")[((()))]; $x = ("foo")[(),(),()];
30.
問題2.1☆☆☆ print( (sub{"foo"})[()]->() );
31.
問題2.1☆☆☆ print( (sub{"foo"})[()]->() ); → foo
32.
問題2.2☆☆☆☆☆☆ print( (sub{"foo"})[()]->(1) );
33.
問題2.2☆☆☆☆☆☆ print( (sub{"foo"})[()]->(1) ); → Can't use
an undefined value as a subroutine reference
34.
解説 print( (sub{"foo"})[()]->(1) ); スタックに積まれた関数呼び出し の引数が、pp_lsliceに食われ てしまっている
35.
ここで 残念なお知らせ
36.
無名関数について CODEを生成するにはsub キーワード必須 プロトタイプで&を使う… 括弧だけで関数の定義、 呼び出しはできない
37.
まとめ ()[()] 記法 空リストの可能性 やっぱりPerl楽しいです!
Download