--- title: "Introduction to cowsay" author: "Scott Chamberlain, Tyler Rinker, Thomas Leeper, Noam Ross, Rich FitzJohn, Kiyoko Gotanda, Carson Sievert, Andy Teucher, Karl Broman, Franz-Sebastian Krah, Lucy D'Agostino McGowan, Guangchuang Yu, Paolo Sonego, and Philipp Boersch-Supan" date: "`r Sys.Date()`" output: html_document: toc: true toc_float: true theme: readable vignette: > %\VignetteEngine{knitr::rmarkdown} %\VignetteIndexEntry{cowsay tutorial} %\VignetteEncoding{UTF-8} --- ```{r echo=FALSE} knitr::opts_chunk$set( comment = "#>", collapse = TRUE ) ``` `cowsay` makes it easy to print messages, warnings, or character strings with various animals and other creatures. ## Installation Stable version from CRAN ```{r eval=FALSE} install.packages("cowsay") ``` or dev version from GitHub ```{r eval=FALSE} # install.packages("pak") pak::pak("sckott/cowsay") ``` ```{r} library(cowsay) ``` ## The animals The animals, and other ascii creatures, are all in a single named character vector that is exported from the package. Thus, you can access each animal yourself, and do whatever you want with it. As of this writing, there are `r length(animals)` animals. The names of the animals: ```{r} sort(names(animals)) ``` For example, access the cow ```{r} cow <- animals[["cow"]] cat(cow) ``` ## Say something We expose the function `say()` in this package, which you can use to envoke any animal in the package, and make it say whatever you want. Some examples: ```{r} say("why did the chicken cross the road", "chicken") ``` ```{r} say("boo!", "ghost") ``` ```{r} say("nope, don't do that", type = "warning") ``` There's the special `time`, that will print out the time ```{r} say("time") ``` ## It's how you say it You can use `say()` and give back a string, message, or warning Message ```{r} say("hello world", by = "cow") ``` Warning ```{r} say("hello world", by = "cow", type = "warning") ``` String ```{r} say("hello world", by = "cow", type = "string") ```