2017-10-03 25 views
2

私の質問は少し基本的なようですが、何とかWalk()関数がどのように副作用を防ぐのか理解できません。
例で言うことができます:Rの副作用walk()関数のプログラミング

x (1,"a",3) 
print(x) 

は、コンソールの副作用を行うプリント値をリードし、環境を変更します。これを避けるには、これを避けるためにx%>%walk(print)でpurrパッケージのwalk関数に置き換えますが、値はコンソールに表示されますが、これは副作用ではありませんか?
これはどう違うのですか?
また、walk2関数を使用して、引数のセットに対して関数を反復し、一連の結果を提供することができます。今、これはシステムの状態をどこかに変えてしまいますが、これはどのような副作用ではありませんか?

だから私の根本的な疑問は、徒歩()関数回避の副作用が正常に

答えて

2

私は徒歩()関数は副作用を回避するので、よく分からないんですか。ドキュメントから :

walk() calls .f for its side-effect and returns the input .x. 

だから副作用が起こりますが、入力が(目に見えない)が返されます。

https://www.rdocumentation.org/packages/purrr/versions/0.2.3/topics/map

+0

大丈夫ああ、それはあなたの助けに感謝の主題に関して、私の混乱を解決します –

関連する問題