-
Notifications
You must be signed in to change notification settings - Fork 3
/
poeta3.rb
42 lines (31 loc) · 903 Bytes
/
poeta3.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env ruby -KU
# poeta.rb
# juanfc 2010-04-14
kCuantos= 5e3.to_i
kLength= 8192
now= Time.now
$words='Con diez cañones por banda viento en popa a toda vela
no corta el mar si no vuela un velero bergantín bajel
pirata llamado por su bravura el temido en todo el mar
conocido del uno al otro confín'.downcase.split
$words_length = $words.length
def poema(length)
r=[]
prev=''
curr=''
l = 0
while (l < length) do
begin
curr=$words[rand($words_length)]
end until (curr != prev)
l = l + curr.length + 1
r << (prev=curr)
end
return r.join(' ')
end
kCuantos.times do
poema(kLength)
end
puts(kCuantos.to_s + " poemas de "+ kLength.to_s+ " caracteres.");
puts((now=Time.now - now).to_s + " segundos.");
puts((kCuantos/now).to_s+ " poemas / segundo.");