Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

livescriptの演算子を使って文字列や配列を操作

相変わらず頭がおかしい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