のパイピング チェーン内でいくつかのオブジェクトをオンザフライで変更しようとしていますmagrittr
。初挑戦:
1:3 %>% (function(x) {x[1] <- 42; x})
#[1] 42 2 3
を使用した短いオプションl
:
1:3 %>% (l(x ~ {x[1] <- 42; x}))
#[1] 42 2 3
ラムダを定義しなくても同じことが可能かどうか知りたいです。それを行う最短の方法は何ですか?そのために代入演算子<-
とプレースホルダーを使用できます.
か? に似たもの(読みやすさに注意してください)
1:3 %>% {.[1] <- 42} # invisible 42 instead
最後の結果が自然であることは理解しています (演算子は目に見えない値を返します)。どうすればそれを回避できますか?