相変わらず頭がおかしいlivescriptさんは演算子まで使い倒して短文化を推し進めています。
知ってるとif-elseの構文がなくなったりするかも。
「*」オペレータ
常識的に考えれば、「*」オペレータは掛け算。
というわけで、まぁ次の挙動はなんとなく理解はできます。
$ echo '<[ foo bar ]> * 2' | lsc -p #> [ 'foo', 'bar', 'foo', 'bar' ]
配列を二倍すると、配列の内容が増える。
ほかのスクリプト言語でも採用されてますし、まぁ、良識です。
では、これはどうでしょう?
$ echo '<[ foo bar ]> * ","' | lsc -p foo,bar
なんかjoinっぽい挙動をしますね……?
Pythonでは、そういうのはなかったですが
['foo', 'bar'] * "," #2> Traceback (most recent call last): #2> File "<stdin>", line 1, in <module>
Rubyでは……
[:a, :b] * ',' >> "a,b"
あるじゃん(驚愕
「-」オペレータ
文字列から特定の文字、パターンを排除できます。
$ echo '"a0b7c46d1ef" - \b' | lsc -p a07c46d1ef
正規表現で指定もできるとは、なんと……
アプリの性質によっては行数めっちゃ減りそうですね
$ echo '"a0b7c46d1ef" - /\d{2}/' | lsc -p a0b7cd1ef