MyNixOS website logo
Description

Infix and Postfix Logic Operators.

Provides adds postfix and infix logic operators for if, then, unless, and otherwise.

postlogic

Travis build status Coverage status

The goal of postlogic is to allow natural flowing logic statements.

Installation

You can install the released version of postlogic from CRAN with:

install.packages("postlogic")

If/Otherwise

The if/otherwise instruction allows for simple logic to follow a statement to make it conditional. The %if% can be used alone to make an action conditional.

verbose <- TRUE 
message("Hello there") %if% verbose
#> Hello there

When combined with the %otherwise% statement it allows for an alternate.

mood <- "calm"
message("How dare you!") %if% (mood == 'angry') %otherwise% 
    message("Everything is fine.")
#> Everything is fine.

mood <- 'angry'
message("How dare you!") %if% (mood == 'angry') %otherwise% 
    message("Everything is fine.")
#> How dare you!

Unless/Then

The %unless% operator is essentially the negation of %if%. So when a statement is postfixed by an %unless% statement it will happen unless the proposition returns TRUE. The alternating operator for %unless% is %then%.

mood <- 'calm'
message("Everything is fine.") %unless% (mood == 'angry') %then% 
    message("How dare you!")
#> Everything is fine.

This example is the same effect as the statements in the previous example.

Documentation

The postlogic package is developed by the R Documentation Task Force, an R ConsortiumInfrastructure Steering Committee working group.

Metadata

Version

0.1.0.1

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