
230
14
章
magrittr
でパイプ
ウサギのFoo Fooを表すオブジェクトの作成から始めます
*1
。
foo_foo <- little_bunny()
そして、動詞に対応する関数
hop()
,
scoop()
,
bop()
を使います。このようなオブジェクトと動詞
を使って、少なくとも次の4 通りのコードでお話を表すことができます。
●
中間ステップを新たなオブジェクトとして格納する。
●
元のオブジェクトを何度も書き替える。
●
関数を作成する。
●
パイプを使う。
各方式について、コードを示して利点と欠点を検討します。
14.2.1
中間ステップ
一番単純なのが、中間段階を新たなオブジェクトとして格納することです。
foo_foo_1 <- hop(foo_foo, through = forest)
foo_foo_2 <- scoop(foo_foo_1, up = field_mice)
foo_foo_3 <- bop(foo_foo_2,
on = head)
この方式の欠点は、中間要素に名前が必要なことです。自然な名前を思いつくなら、悪くないし、
そうすべきです。しかし、多くの場合、この例のように、よい名前がなくて、数字をくっつけて名前
をひねり出すことになります。これには次のような2つの問題があります。
●
あまり重要でない名前が多くてコードがわかりにくくなる。
●
各行で接尾辞の番号を注意して増やす必要がある。
こんなコードを書くと、私は必ず番号を間違えて、どこがおかしいのか調べる ...