Ruby 初心者スレッド Part 42
■ このスレッドは過去ログ倉庫に格納されています
0486デフォルトの名無しさん
2011/05/06(金) 19:37:54.53>>477 こういうことでしょうかw
MAXGEN = 10000
NONWORD = "\n"
w1 = w2 = NONWORD
statetab = Hash.new{|h, k| h[k] = Hash.new{|h2,k2| h2[k2]= []}}
while line = gets
line.chomp!
line.split(/\s+/).each do |word|
statetab[w1][w2].push(word)
w1, w2 = w2, word
end
end
statetab[w1][w2].push(NONWORD)
w1 = w2 = NONWORD
MAXGEN.times do
suf = statetab[w1][w2]
break if (t = suf.sample) == NONWORD
print t, ' '
w1, w2 = w2, t
end
■ このスレッドは過去ログ倉庫に格納されています