Perl入学式 #7補講で講師役をしてきました
2012年8月27日
@nqounetです。
今日(日付的には昨日)はPerl入学式#7補講でした。
主な内容としては、
- 復習問題
- お約束
- mapとgrep
- 正規表現を詳しく
でした。
資料について
資料はgithubで公開しています。
スライドは、カーソルの→、またはスペースキーで進みます。戻るときはカーソルの←をお使いください。
また、補講に際して一部資料を修正していますので、併せてご確認ください。
相変わらず、資料はMarkdownで記述し、markdown2impressを改造したツールを使ってプレゼン資料にしました。 そのあたりは先日書いていますので、そちらもご覧ください。
今回のイマイチだった点について
今回が、Perl入学式初参加、という方もいらっしゃったのですが、その方へのサポートが足りていなかったのがイマイチでした。 「プログラミング初心者大歓迎」がPerl入学式の売りでもあるので、もっと手厚いサポートが必要だったなぁ…と思いました。
あと時間配分についても。 また、最後の問題を宿題にしてしまった…。
今回の良かった点について
解説している時よりも実際にコーディングしてプログラムを動かしている時の方が集中している感が伝わって来ましたので、こういうのもアリかなと思いました。 …私が楽しかっただけなのかもしれませんが。
今回の学び
これは質問だったのですが、「qr」で正規表現をスカラー変数に代入して利用した場合と、普通の文字列を代入した場合の違い、を質問されました。
その時は時間もなかったので、ある程度の知識を駆使して、「qr」を使うと「//」で囲わなくてもマッチングできるという風に説明しながら実際に書いて実行していたのです。
1 | my $input = "John is Great Man!";<br>my $pattern = qr/(?:[jJ]ohn)/;<br>if ($input =~ $pattern) {<br> print "マッチした!";<br>}<br> |
で、次に普通に代入した変数ではマッチングが実行できません…と説明しようとしたのですが。
1 | my $input = "John is Great Man!";<br>my $pattern = "(?:[jJ]ohn)";<br>if ($input =~ $pattern) {<br> print "マッチした!";<br>}<br> |
これが動いてしまったので、言葉に詰まってしまいました。 迂闊な説明は禁物だなと。
ということで、帰ってからperldocをサクッと読みました。
- http://perldoc.perl.org/perlop.html#Regexp-Quote-Like-Operators
- http://perldoc.jp/docs/perl/5.14.1/perlop.pod#Regexp32Quote-Like32Operators
次回の予定
#8は9月23日(日)に、Joe'sクラウドコンピューティングで開催します。
募集は「#Perl入学式 #8 on Zusaar」で行なっています。
未成年の方や大学生は無料ですので、この機会に是非ご参加ください。
お待ちしております。