正規表現で変数束縛
id:ryugate:20080528 の続き・・・
ふとおもって、実験してみた。
scala> val ptn = "([0-9]+).*".r ptn: scala.util.matching.Regex = ([0-9]+).* scala> val ptn(x) = "123hoge" x: String = 123
おぉ、出来るのね。
で、こっちは
scala> val ptn(x) = "hoge123" scala.MatchError: hoge123 at .<init>(<console>:6) at .<clinit>(<console>) at RequestResult$.<init>(<console>:3) at RequestResult$.<clinit>(<console>) at RequestResult$result(<console>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke...
もちろん失敗しますね。