Title: | Messages, Warnings, Strings with Ascii Animals |
---|---|
Description: | Allows printing of character strings as messages/warnings/etc. with ASCII animals, including cats, cows, frogs, chickens, ghosts, and more. |
Authors: | Scott Chamberlain [aut, cre], Amanda Dobbyn [aut], Tyler Rinker [ctb], Thomas Leeper [ctb], Noam Ross [ctb], Rich FitzJohn [ctb], Carson Sievert [ctb], Kiyoko Gotanda [ctb], Andy Teucher [ctb], Karl Broman [ctb], Franz-Sebastian Krah [ctb], Lucy D'Agostino McGowan [ctb], Guangchuang Yu [ctb], Philipp Boersch-Supan [ctb], Andreas Brandmaier [ctb], Marion Louveaux [ctb], David Schoch [ctb] |
Maintainer: | Scott Chamberlain <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.0.0 |
Built: | 2024-12-05 19:35:02 UTC |
Source: | CRAN |
Named vector of animals
animals
animals
An object of class character
of length 56.
animals
is a named character vector of animals,
with each element a character string of variable length specifying
an ASCII animal. Note that some have unicode characters that won't
play well on some operating systems.
cat(animals['cow']) cat(animals['chicken']) cat(animals[['chuck']]) cat(animals[['clippy']]) cat(animals[['poop']]) cat(animals[['bigcat']]) for (animal in animals) cat(animal, sep = "\n")
cat(animals['cow']) cat(animals['chicken']) cat(animals[['chuck']]) cat(animals[['clippy']]) cat(animals[['poop']]) cat(animals[['bigcat']]) for (animal in animals) cat(animal, sep = "\n")
Thought/speech bubble/balloon
bubble_say(x, width = 60) bubble_think(x, width = 60)
bubble_say(x, width = 60) bubble_think(x, width = 60)
x |
(character) a character vector |
width |
(integer/numeric) width of each line. default: 60 |
bubble_say
gives the traditional bubble that you get when
you run cowsay
on the command line, with carrots or slashes for the
sides, while bubble_think
gives a slightly different bubble with
parens for the sides
character vector of length greater than the input x
modified from https://github.com/schochastics/startifyR
Other bubble:
bubble_tail()
library(fortunes) quote <- as.character(fortune()) bubble_say(x = quote) cat(bubble_say(paste(quote, collapse = " ")), sep = "\n") ch <- animals[["chicken"]] z <- paste(c(bubble_say(quote), bubble_tail(ch, "\\"), ch), collapse = "\n") cat(z) text_color <- sample(grDevices::colors(), 1) text_style <- crayon::make_style(text_color) text_style(bubble_say(quote))
library(fortunes) quote <- as.character(fortune()) bubble_say(x = quote) cat(bubble_say(paste(quote, collapse = " ")), sep = "\n") ch <- animals[["chicken"]] z <- paste(c(bubble_say(quote), bubble_tail(ch, "\\"), ch), collapse = "\n") cat(z) text_color <- sample(grDevices::colors(), 1) text_style <- crayon::make_style(text_color) text_style(bubble_say(quote))
Make the tail part of a thought bubble
bubble_tail(animal, thought_sym = "o") bubble_tail2(max_char_length, thought_sym = "o")
bubble_tail(animal, thought_sym = "o") bubble_tail2(max_char_length, thought_sym = "o")
animal |
(character) a string |
thought_sym |
(character) scalar character to use for the speech bubble tail (see https://en.wikipedia.org/wiki/Speech_balloon). default: "o" |
max_char_length |
(numeric) length of the maximum line. this is used
to determine how much whitespace padding to add to the left of
|
bubble_tail
uses the animal as input so that the tail is put
close to the top of the animal, whereas bubble_tail2
just puts the tail
about a 1/3 of the way from the left most character given the max
character length
Other bubble:
bubble_say()
bubble_tail(animals[["chicken"]]) cat(bubble_tail(animals[["chicken"]]), sep = "\n") cat(bubble_tail(animals[["chicken"]]), sep = "\n") cat(bubble_tail(animals[["chicken"]], "%"), sep = "\n") bubble_tail2(59) cat(bubble_tail2(59), sep = "\n") cat(bubble_tail2(11), sep = "\n") cat(bubble_tail2(11, "%"), sep = "\n")
bubble_tail(animals[["chicken"]]) cat(bubble_tail(animals[["chicken"]]), sep = "\n") cat(bubble_tail(animals[["chicken"]]), sep = "\n") cat(bubble_tail(animals[["chicken"]], "%"), sep = "\n") bubble_tail2(59) cat(bubble_tail2(59), sep = "\n") cat(bubble_tail2(11), sep = "\n") cat(bubble_tail2(11, "%"), sep = "\n")
Each time you press enter, the horse keeps going...and going...
endless_horse( what = "Hello world!", endless = TRUE, wait = 0.5, what_color = NULL, horse_color = NULL )
endless_horse( what = "Hello world!", endless = TRUE, wait = 0.5, what_color = NULL, horse_color = NULL )
what |
(character) What do you want to say? See details. |
endless |
(logical) Should horse be enless, you better say yes.
Default: |
wait |
How long to wait between leg segments (time grows geometrically after the first iteration in order to keep the horse on screen for a while, but it will keep going forever. Or until you hit escape/Ctrl-C depending on your platform). |
what_color |
(character or crayon function) A
|
horse_color |
(character or crayon function) A
|
## Not run: endless_horse() endless_horse(endless = FALSE) ## End(Not run)
## Not run: endless_horse() endless_horse(endless = FALSE) ## End(Not run)
Sling messages and warnings with flair
say( what = "Hello world!", by = "cow", type = NULL, what_color = NULL, by_color = what_color, length = 18, fortune = NULL, width = 60, ... ) think( what = "Hello world!", by = "cow", type = NULL, what_color = NULL, by_color = what_color, length = 18, fortune = NULL, width = 60, ... )
say( what = "Hello world!", by = "cow", type = NULL, what_color = NULL, by_color = what_color, length = 18, fortune = NULL, width = 60, ... ) think( what = "Hello world!", by = "cow", type = NULL, what_color = NULL, by_color = what_color, length = 18, fortune = NULL, width = 60, ... )
what |
(character) What do you want to say? See Details. |
by |
(character) Type of thing, one of cow, chicken, chuck,
clippy, poop, bigcat, ant, pumpkin, ghost, spider, rabbit, pig,
snowman, frog, hypnotoad, shortcat, longcat, fish, signbunny,
facecat, behindcat, stretchycat, anxiouscat, longtailcat, cat,
trilobite, shark, buffalo, grumpycat, smallcat, yoda, mushroom,
endlesshorse, bat, bat2, turkey, monkey, daemon, egret, duckling,
duck, owl, squirrel, squirrel2, goldfish, alligator, stegosaurus,
whale, wolf, or rms for Richard Stallman.
Alternatively, use "random" to have your message spoken by a random
character.
We use |
type |
(character) One of message (default), warning, print (default in non-interactive mode), or string (returns string). If run in non-interactive mode default type is print, so that output goes to stdout rather than stderr, where messages and warnings go. |
what_color |
(character or crayon function) One or more
|
by_color |
(character or crayon function) One or more
|
length |
(integer) Length of longcat. Ignored if other animals used. |
fortune |
An integer (or number that can be coerced
to integer) specifying a fortune from the |
width |
(integer/numeric) width of each line. default: 60 |
... |
Further args passed on to |
You can put in any phrase you like to the what
parameter, OR you
can type in one of a few special phrases that do particular things.
They are:
"catfact": A random cat fact from https://catfact.ninja
"fortune": A random quote from an R coder, from fortunes library
"time": Print the current time
"rms": Prints a random 'fact' about Richard Stallman from the
rmsfact::rmsfact()
package. Best paired with by = "rms"
.
Note that if you choose by='hypnotoad'
the quote is forced to be,
as you could imagine, 'All Glory to the HYPNO TOAD!'. For reference see
http://knowyourmeme.com/memes/hypnotoad
signbunny: It's not for sure known who invented signbunny, but this article http://www.vox.com/2014/9/18/6331753/sign-bunny-meme-explained thinks they found the first use in this tweet: https://twitter.com/wei_bluebear/status/329101645780770817
trilobite: from http://www.retrojunkie.com/asciiart/animals/dinos.htm (site down though)
Note to Windows users: there are some animals (shortcat, longcat, fish, signbunny, stretchycat, anxiouscat, longtailcat, grumpycat, mushroom) that are not available because they use non-ASCII characters that don't display properly in R on Windows.
say() say("what") say("time") say("who you callin chicken", "chicken") say("ain't that some shit", "poop") say("icanhazpdf?", "cat") say("boo!", "pumpkin") say("hot diggity", "frog") # Vary type of output, default calls message() say("hell no!") say("hell no!", type = "warning") say("hell no!", type = "string") # The hypnotoad say(by = "hypnotoad") # Trilobite say(by = "trilobite") # Shark say("Q: What do you call a solitary shark\nA: A lone shark", by = "shark") # Buffalo say("Q: What do you call a single buffalo?\nA: A buffalonely", by = "buffalo") # Using fortunes library(fortunes) say(what = "fortune") ## you don't have to pass anything to the `what` parameter if `fortune` is ## not null say("fortune", "spider") say("fortune", "facecat") say("fortune", "behindcat") say("fortune", "smallcat") say("fortune", "monkey") say("fortune", "egret") say(fortune = 10) say(fortune = 100) say(fortune = "whatever") say(fortune = 7) say(fortune = 45) # Clippy say(fortune = 59, by = "clippy") library(rmsfact) say("rms", "rms") # Using the catfacts API library(jsonlite) say("catfact", "cat")
say() say("what") say("time") say("who you callin chicken", "chicken") say("ain't that some shit", "poop") say("icanhazpdf?", "cat") say("boo!", "pumpkin") say("hot diggity", "frog") # Vary type of output, default calls message() say("hell no!") say("hell no!", type = "warning") say("hell no!", type = "string") # The hypnotoad say(by = "hypnotoad") # Trilobite say(by = "trilobite") # Shark say("Q: What do you call a solitary shark\nA: A lone shark", by = "shark") # Buffalo say("Q: What do you call a single buffalo?\nA: A buffalonely", by = "buffalo") # Using fortunes library(fortunes) say(what = "fortune") ## you don't have to pass anything to the `what` parameter if `fortune` is ## not null say("fortune", "spider") say("fortune", "facecat") say("fortune", "behindcat") say("fortune", "smallcat") say("fortune", "monkey") say("fortune", "egret") say(fortune = 10) say(fortune = 100) say(fortune = "whatever") say(fortune = 7) say(fortune = 45) # Clippy say(fortune = 59, by = "clippy") library(rmsfact) say("rms", "rms") # Using the catfacts API library(jsonlite) say("catfact", "cat")