r-lib / cli
1

2
lorem_words <- c(
3
  "ad",
4
  "adipisicing",
5
  "aliqua",
6
  "aliquip",
7
  "amet",
8
  "anim",
9
  "aute",
10
  "cillum",
11
  "commodo",
12
  "consectetur",
13
  "consequat",
14
  "culpa",
15
  "cupidatat",
16
  "deserunt",
17
  "do",
18
  "dolor",
19
  "dolore",
20
  "duis",
21
  "ea",
22
  "eiusmod",
23
  "elit",
24
  "enim",
25
  "esse",
26
  "est",
27
  "et",
28
  "eu",
29
  "ex",
30
  "excepteur",
31
  "exercitation",
32
  "fugiat",
33
  "id",
34
  "in",
35
  "incididunt",
36
  "ipsum",
37
  "irure",
38
  "labore",
39
  "laboris",
40
  "laborum",
41
  "Lorem",
42
  "magna",
43
  "minim",
44
  "mollit",
45
  "nisi",
46
  "non",
47
  "nostrud",
48
  "nulla",
49
  "occaecat",
50
  "officia",
51
  "pariatur",
52
  "proident",
53
  "qui",
54
  "quis",
55
  "reprehenderit",
56
  "sint",
57
  "sit",
58
  "sunt",
59
  "tempor",
60
  "ullamco",
61
  "ut",
62
  "velit",
63
  "veniam",
64
  "voluptate"
65
)
66

67
lorem_ipsum <- function(paragraphs = 1, par_sentence_range = 5:10,
68
                        sentence_word_range = 5:15) {
69 1
  vcapply(
70 1
    1:paragraphs,
71 1
    function(x, ...) lorem_paragraph(...),
72 1
    par_sentence_range = par_sentence_range,
73 1
    sentence_word_range = sentence_word_range
74
  )
75
}
76

77
lorem_paragraph <- function(par_sentence_range, sentence_word_range) {
78 1
  num <- sample(par_sentence_range, 1)
79 1
  paste(
80 1
    collapse = " ",
81 1
    vcapply(
82 1
      1:num,
83 1
      function(x, ...) lorem_sentence(...),
84 1
      sentence_word_range = sentence_word_range
85
    )
86
  )
87
}
88

89
lorem_sentence <- function(sentence_word_range) {
90 1
  num <- sample(sentence_word_range, 1)
91 1
  words <- sample(lorem_words, num, replace = TRUE)
92 1
  words[1] <- capitalize(words[1])
93 1
  paste0(paste(words, collapse = " "), ".")
94
}
95

96
capitalize <- function(x) {
97 1
  substr(x, 1, 1) <- toupper(substr(x, 1, 1))
98 1
  x
99
}

Read our documentation on viewing source code .

Loading