Unix komut boru hatları için Ruby's Object#tap
'un deyimsel bir benzetimi var mı?Unix komutu Pipeline'leri için Ruby'nin `` Nesne # '' konusundaki Idiomatic Analog?
Kullanım durumu: bir boru hattı içinde Yan etkileri için bir komut yürütmek istiyorum ancak girişi boru hattının zincirini kırmayacak şekilde dolaylı olarak döndürmek istiyorum. Örneğin:
echo { 1, 2, 3 } |
tr ' ' '\n' |
sort |
tap 'xargs echo' | # arbitrary code, but implicitly return the input
uniq
Ben bu yapacağını Ruby, geliyorum:
[ 1, 2, 3 ].
sort.
tap { |x| puts x }.
uniq
+1. Şimdiye kadar kullandığım/tmp dosyalarının çoğuna ihtiyaç duyuluyor. –
Ve sadece 'stderr' görüntülemek istediğinizde, ... | tee/dev/stderr | ... '. – Vic