Perl勉強日誌 - スマートマッチ
お久しぶりです。
しばらくブログ書いてませんでした。
(単純にさぼってました。。。orz)
諸事情ありまして、Perlを勉強し始めたので、
ログを残して行きたいと思います。
追記
スマートマッチは現在非推奨だそうです。
perl5180delta - perl v5.18.0 での変更点 - perldoc.jp
残念、、、、orz
(なんとなく、そんな気もしてましたがw)
今日のテーマ
リャマ本:15章
スマートマッチ
それ何?
Perlさんがスマート(賢く)にマッチしてくれる演算子。
らしいです。
つまり値の種類によって、いろいろ良い感じに比較してくれる、と。
スマートマッチ演算子は、Perl5.10.0で登場したそうですが、
問題があったらしく、Perl5.10.1でfixされたそうです。
その為、
use 5.010001; # use v5.10.1; の方が良いのか????
とするのが、良いそう。
スマートマッチ演算子
では実際に使ってみます。
my $hoge = "hello, world!!!"; say "matched regex" if $hoge ~~ /hello/; # ① say "matched string" if $hoge ~~ "hello, world!!!"; # ②
上記の
~~
これが「スマートマッチ演算子」です。
上記①の場合、
右辺が正規表現なので、正規表現で比較されています。
つまり、
$hoge =~ /hello/
と同じ事になるはず。
上記②の場合、
右辺が文字列なので、文字列として比較されています。
つまり、
$hoge eq "hello, world!!!"
と同じ事になるはず。
その他の比較
以下のページを見れば、どんなマッチが出来るか記載されています。
perlop - perldoc.perl.org
TypeScript+Jasmine+PhantomJs+GuardでTDDしてみる
Ruby2.0の勉強そっちのけで、gem作ってました。。。
仕事でTypescript使ってjsのライブラリ的な物を作る事があるので、Jasmineでテスト書きながらTypeScriptコンパイルしてPhantomJsでテスト流す、という仕組みを、Guard使ってplugin作ってみた。github.com/yagince/guard-…
— なぎやつきさん (@yagince) 2013年4月14日
続きを読む
Ruby2.0の新機能を勉強してみる その1 キーワード引数
久々のRubyネタです。
2013年2月14日にRuby2.0.0-p0がリリースされました。
2ヶ月程経ってしまいましたが、自称Rubyistとして、
新機能を勉強したいと思います。
Ruby 2.0.0-p0 リリース
ちなみに、本シリーズは1回1テーマでお送り致します。
今回のテーマ
表題にある通り、「キーワード引数」をやってみたいと思います。