# simplest Code for (n in 0:2) cli_text("{n} package{?s}") Message 0 packages 1 package 2 packages Code for (n in 0:2) print(pluralize("{n} package{?s}")) Output 0 packages 1 package 2 packages # irregular Code for (n in 0:2) cli_text("{n} dictionar{?y/ies}") Message 0 dictionaries 1 dictionary 2 dictionaries Code for (n in 0:2) print(pluralize("{n} dictionar{?y/ies}")) Output 0 dictionaries 1 dictionary 2 dictionaries # multiple substitutions Code for (n in 0:2) cli_text("{n} package{?s} {?is/are} ...") Message 0 packages are ... 1 package is ... 2 packages are ... Code for (n in 0:2) print(pluralize("{n} package{?s} {?is/are} ...")) Output 0 packages are ... 1 package is ... 2 packages are ... # multiple quantities Code for (m in 0:2) for (n in 0:2) cli_text("{m} package{?s} and {n} folder{?s}") Message 0 packages and 0 folders 0 packages and 1 folder 0 packages and 2 folders 1 package and 0 folders 1 package and 1 folder 1 package and 2 folders 2 packages and 0 folders 2 packages and 1 folder 2 packages and 2 folders Code for (m in 0:2) for (n in 0:2) print(pluralize( "{m} package{?s} and {n} folder{?s}")) Output 0 packages and 0 folders 0 packages and 1 folder 0 packages and 2 folders 1 package and 0 folders 1 package and 1 folder 1 package and 2 folders 2 packages and 0 folders 2 packages and 1 folder 2 packages and 2 folders # no() Code for (n in 0:2) cli_text("{no(n)} package{?s}") Message no packages 1 package 2 packages Code for (n in 0:2) print(pluralize("{no(n)} package{?s}")) Output no packages 1 package 2 packages # set qty() explicitly Code for (n in 0:2) cli_text("{qty(n)}There {?is/are} {n} package{?s}") Message There are 0 packages There is 1 package There are 2 packages Code for (n in 0:2) print(pluralize("{qty(n)}There {?is/are} {n} package{?s}")) Output There are 0 packages There is 1 package There are 2 packages # collapsing vectors Code pkgs <- (function(n) glue::glue("pkg{seq_len(n)}")) for (n in 1:3) cli_text("The {pkgs(n)} package{?s}") Message The pkg1 package The pkg1 and pkg2 packages The pkg1, pkg2, and pkg3 packages Code for (n in 1:3) print(pluralize("The {pkgs(n)} package{?s}")) Output The pkg1 package The pkg1 and pkg2 packages The pkg1, pkg2, and pkg3 packages # pluralization and style Code special_style <- list(span.foo = list(before = "<", after = ">")) cli_div(theme = special_style) for (n in 0:2) cli_text("{n} {.foo package{?s}}") Message 0 packages 1 package 2 packages --- Code pkgs <- (function(n) glue::glue("pkg{seq_len(n)}")) for (n in 1:3) cli_text("The {.foo {pkgs(n)}} package{?s}") Message The pkg1 package The pkg1 and pkg2 packages The pkg1, pkg2, and pkg3 packages # post-processing Code for (n in 0:2) cli_text("Package{?s}: {n}") Message Packages: 0 Package: 1 Packages: 2 --- Code pkgs <- (function(n) glue::glue("pkg{seq_len(n)}")) for (n in 1:2) cli_text("Package{?s}: {pkgs(n)}") Message Package: pkg1 Packages: pkg1 and pkg2 Code for (n in 1:2) print(pluralize("Package{?s}: {pkgs(n)}")) Output Package: pkg1 Packages: pkg1 and pkg2 # issue 158 Code print(pluralize("{0} word{?A/B/}")) Output 0 wordA Code print(pluralize("{1} word{?A/B/}")) Output 1 wordB Code print(pluralize("{9} word{?A/B/}")) Output 9 word
Generated by dwww version 1.15 on Thu May 23 02:18:09 CEST 2024.