Submit Search
Upload
finally (not finally)
•
Download as PPTX, PDF
•
0 likes
•
173 views
azuma satoshi
Follow
finally (not finally)
Read less
Read more
Engineering
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 23
Download now
Recommended
時を駆けるINSERT.pptx
時を駆けるINSERT.pptx
azuma satoshi
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
azuma satoshi
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
azuma satoshi
L tthon
L tthon
azuma satoshi
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
azuma satoshi
Perlbeginnes 9 opening
Perlbeginnes 9 opening
azuma satoshi
Perlbeginners proposal
Perlbeginners proposal
azuma satoshi
Chibapm01 lt
Chibapm01 lt
azuma satoshi
Recommended
時を駆けるINSERT.pptx
時を駆けるINSERT.pptx
azuma satoshi
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
azuma satoshi
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
azuma satoshi
L tthon
L tthon
azuma satoshi
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
azuma satoshi
Perlbeginnes 9 opening
Perlbeginnes 9 opening
azuma satoshi
Perlbeginners proposal
Perlbeginners proposal
azuma satoshi
Chibapm01 lt
Chibapm01 lt
azuma satoshi
入れ子構造を分解する
入れ子構造を分解する
azuma satoshi
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
azuma satoshi
ライブコーディング(?)で学ぶPerlオブジェクト指向
ライブコーディング(?)で学ぶPerlオブジェクト指向
azuma satoshi
Perlbeginnes 4 keynote
Perlbeginnes 4 keynote
azuma satoshi
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
azuma satoshi
Perlbeginners 3 opening talk
Perlbeginners 3 opening talk
azuma satoshi
PSGIへの誘い
PSGIへの誘い
azuma satoshi
Perlbeginnes 2 keynote
Perlbeginnes 2 keynote
azuma satoshi
Hachiojipm 14 LT
Hachiojipm 14 LT
azuma satoshi
Perl Beginners #1 keynote
Perl Beginners #1 keynote
azuma satoshi
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向
azuma satoshi
Hachioji.pm #13 LT
Hachioji.pm #13 LT
azuma satoshi
Alluren of prototype-based OOP
Alluren of prototype-based OOP
azuma satoshi
More Related Content
More from azuma satoshi
入れ子構造を分解する
入れ子構造を分解する
azuma satoshi
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
azuma satoshi
ライブコーディング(?)で学ぶPerlオブジェクト指向
ライブコーディング(?)で学ぶPerlオブジェクト指向
azuma satoshi
Perlbeginnes 4 keynote
Perlbeginnes 4 keynote
azuma satoshi
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
azuma satoshi
Perlbeginners 3 opening talk
Perlbeginners 3 opening talk
azuma satoshi
PSGIへの誘い
PSGIへの誘い
azuma satoshi
Perlbeginnes 2 keynote
Perlbeginnes 2 keynote
azuma satoshi
Hachiojipm 14 LT
Hachiojipm 14 LT
azuma satoshi
Perl Beginners #1 keynote
Perl Beginners #1 keynote
azuma satoshi
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向
azuma satoshi
Hachioji.pm #13 LT
Hachioji.pm #13 LT
azuma satoshi
Alluren of prototype-based OOP
Alluren of prototype-based OOP
azuma satoshi
More from azuma satoshi
(13)
入れ子構造を分解する
入れ子構造を分解する
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
ライブコーディング(?)で学ぶPerlオブジェクト指向
ライブコーディング(?)で学ぶPerlオブジェクト指向
Perlbeginnes 4 keynote
Perlbeginnes 4 keynote
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perlbeginners 3 opening talk
Perlbeginners 3 opening talk
PSGIへの誘い
PSGIへの誘い
Perlbeginnes 2 keynote
Perlbeginnes 2 keynote
Hachiojipm 14 LT
Hachiojipm 14 LT
Perl Beginners #1 keynote
Perl Beginners #1 keynote
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向
Hachioji.pm #13 LT
Hachioji.pm #13 LT
Alluren of prototype-based OOP
Alluren of prototype-based OOP
finally (not finally)
1.
finally (not finally) @ytnobody
2.
@ytnobody – わいとん •
CEO of Y.pm LLC • Founder of Ooimachi.pm
3.
YAPC::Kyoto 2023 「裏トーク」 引用元
https://blog.yapcjapan.org/entry/2023/03/15/120000
4.
真新しい話はたぶんないですが。
5.
use v5.34; use experimental
qw(try); • v5.34でtry/catchがperlにも来ていた • もう2年前のお話
6.
やってみる
7.
やってみる Ctrl-C
8.
やってみる Ctrl-C 実行されとらんが?
9.
やってみる このループにいる最中で Ctrl-C押されてる
10.
やってみる 一応tryの中だけど?
11.
try/catchはシグナルを処理しない それはそう😌
12.
こうなった
13.
こうなった Ctrl-C
14.
こうなった catch動いた
15.
シグナルを処理するロジックのおかげ (try/catchのおかげではない) Ctrl-C(SIGINT)を 受け取ったときの処理
16.
ところでfinallyをつかうとこうなる
17.
finallyがすること • try/catchの処理後、必ずブロック内のコードを実行する • 何か例外をcatchしても仕事をする。 •
ようするに「あと始末」に使いそう。
18.
ところで、try/catch/finally以前は どうしていたのか? • Try::Tinyでよしなにする • eval
{ … }; if ($@) { … }; と Guard.pmでがんばる
19.
個人的感想 モジュール作者以外はtry/catch/finally使おう • モジュール作者の場合、どう しても古い環境(Perl 5.12等) で動かされてしまうことを念 頭に置かないといけない。 •
そこをサポート外とするのは全 然アリ。 • 画像はMojoliciousのCPAN Testers Matrix • モジュール作らないor新しい Perlを使えるなら、平易な書 き方の方がいい。 引用元 http://matrix.cpantesters.org/?dist=Mojolicious
20.
個人的感想 finallyとGuard.pmのguardは用途が近そう • ようするに「あと始末」要員 • でも外部モジュールに依存しなくていいので、finally使いたい •
guardの場合、コードの見た目の前後関係が逆になりがち • 上から下に読み下したいと思った時に目が滑るかも • before v5.34, finally is not finally, it's a guard object. • finally is not finally っていいたいだけ
21.
個人的感想 記号が減るのは良い • eval/if($@) と比較して
try/catch/finally は… • 覚えることが少ない • 記号が減る • ので、良い。
22.
おまけ • GPT先生に聞いてみた
23.
GPT先生・・・
Download now