laowaihua 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README +25 -3
- data/lib/lao_wai_hua.rb +45 -7
- metadata +2 -2
data/README
CHANGED
@@ -1,13 +1,35 @@
|
|
1
1
|
LaoWaiHua
|
2
|
-
|
2
|
+
======
|
3
3
|
|
4
4
|
A "Lorem Ipsum" generator for Chinese (simplified)
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
taken from the tongue-twister
|
7
|
+
|
8
|
+
一位爷爷他姓顾,
|
9
|
+
上街打醋又买布。
|
10
|
+
买了布,打了醋,
|
11
|
+
回头看见鹰抓兔。
|
12
|
+
放下布,搁下醋,
|
13
|
+
上前去追鹰和兔,
|
14
|
+
飞了鹰,跑了兔。
|
15
|
+
打翻醋,醋湿布
|
16
|
+
|
17
|
+
yi wei ye ye ta xing gu
|
18
|
+
shang jie da cu you mai bu
|
19
|
+
mai le bu, da le cu
|
20
|
+
hui tou kan jian ying zhuan tu
|
21
|
+
fang xia bu, ge xia cu
|
22
|
+
shang qian qu zhui ying he tu
|
23
|
+
fei le ying, pao le tu
|
24
|
+
da fan cu, cu shi bu.
|
8
25
|
|
26
|
+
Example
|
27
|
+
======
|
9
28
|
>> require 'laowaihua'
|
10
29
|
|
11
30
|
>> LaoWaiHua(25)
|
12
31
|
=> "一位爷爷他姓顾,上街打醋又买布。买了布,打了醋,回"
|
32
|
+
|
33
|
+
>> LaoWaiHua.random(20)
|
34
|
+
=> "跑抓跑,姓打,追顾布顾,位翻。上兔醋顾。"
|
13
35
|
|
data/lib/lao_wai_hua.rb
CHANGED
@@ -11,14 +11,52 @@ module LaoWaiHua
|
|
11
11
|
打 翻 醋 , 醋 湿 布
|
12
12
|
)
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
14
|
+
PUNCTUATION = %w( , 。 )
|
15
|
+
|
16
|
+
WORDS_WITHOUT_PUNCTUATION = WORDS.select{|word| !PUNCTUATION.include?(word)}
|
17
|
+
|
18
|
+
class << self
|
19
|
+
|
20
|
+
# return a string of *length* taken from the provided tongue twister
|
21
|
+
# defaults to the full length of the text
|
22
|
+
def generate(length=WORDS.length)
|
23
|
+
words = []
|
24
|
+
while words.length < length
|
25
|
+
words += WORDS[0, length]
|
26
|
+
end
|
27
|
+
words.join("")
|
28
|
+
end
|
21
29
|
|
30
|
+
# return a random word (excluding punctuation) from our text
|
31
|
+
def random_word()
|
32
|
+
WORDS_WITHOUT_PUNCTUATION[rand(WORDS_WITHOUT_PUNCTUATION.length)]
|
33
|
+
end
|
34
|
+
|
35
|
+
# return a string or random words of the provided *length*
|
36
|
+
def random(length)
|
37
|
+
words = []
|
38
|
+
next_punctuation = nil
|
39
|
+
|
40
|
+
1.upto(length) do
|
41
|
+
next_punctuation ||= rand(3)+2
|
42
|
+
if next_punctuation == 0
|
43
|
+
next_punctuation = nil
|
44
|
+
words << random_punctuation
|
45
|
+
else
|
46
|
+
next_punctuation -= 1
|
47
|
+
words << random_word
|
48
|
+
end
|
49
|
+
end
|
50
|
+
words.join("")
|
51
|
+
end
|
52
|
+
|
53
|
+
protected
|
54
|
+
|
55
|
+
def random_punctuation()
|
56
|
+
PUNCTUATION[rand(PUNCTUATION.length)]
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
22
60
|
end
|
23
61
|
|
24
62
|
def LaoWaiHua(*args)
|