MyNixOS website logo
Description

Convert Nested Functions to Pipes.

To take nested function calls and convert them to a more readable form using pipes from package 'magrittr'.

pipefittr

To take nested function calls and convert them to a more readable form using magrittr's pipes.

Examples:

e.g. (example taken from Hadley Wickham)

calling the add-in on:

foo_foo <- little_bunny()
bop_on( scoop_up( hop_through(foo_foo, forest), field_mouse ), head )

will return:

foo_foo <- little_bunny()
foo_foo %>% 
  hop_through(forest) %>% 
  scoop_up(field_mouse) 
  %>% bop_on(head)

installation

# install a dev version using
devtools::install_github("houstonusers/pipefittr")

This should automatically install a Rstudio add-in as well.

to do

another example which does not work currently

ostensibly, the (same?) function would also be able to remedy horrendous situations like this:

tmp_bunny1 <- foo_foo
tmp_bunny2 <- hop_through(tmp_bunny1, forest)
tmp_bunny3 <- scoop_up(tmp_bunny2, field_mouse)
tmp_bunny4 <- bop_on(tmp_bunny3, head)

this would resolve to:

foo_foo <- little_bunny()
tmp_bunny4 <- foo_foo %>% 
  hop_through(forest) %>% 
  scoop_up(field_mouse) 
  %>% bop_on(head)

same as above with the minor difference that it would now be assigned to tmp_bunny4. It can be up to the user to change that later.

Metadata

Version

0.1.2

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows