随机报价生成器重复相同的报价,为什么

  • 本文关键字:随机 ruby shoes
  • 更新时间 :
  • 英文 :


大家好!有一个报价生成器与鞋。

@think.click do
@noun_nominative.shuffle
@base.shuffle
@thought.replace(@base.sample)
end
@noun_nominative = 
[
"word1", "word2", "word3", "word4",
"word5", "word6", "word7", "word8"
]
@noun_accusative = 
[
"word1", "word2", "word3"
]
@base =
[
@noun_nominative.sample.capitalize + "regular quote",
"Regular quote" + @noun_nominative.sample,
"Regular quote" + @noun_accusative.sample,
"Regular quote" + @noun_accusative.sample,
@noun_nominative.sample.capitalize + "regular quote",
"And another one base for a quote"
]       

它只是将数组中的短语替换为名词主格

动词宾格该程序应该在每次点击时都会做出一个全新的报价,然而,它会不断显示曾经生成的相同短语。我如何在不重新打开程序的情况下使其重新生成报价?

谢谢你的回答!

您需要在每次点击时生成随机报价,而不是在应用程序启动时预先生成。这应该是做你想做的事情最懒惰的改变:

def generate_random_quote(nominative, accusative)
all_generated_quotes = [
nominative.sample.capitalize + " - это всякий, кто стремится убить тебя, неважно на чьей он стороне.",
"Иногда " + nominative.sample + " не попадает в " + accusative.sample + ", но " + nominative.sample + " не может промахнуться.",
"Нет ничего труднее, чем гибнуть, не платя смертью за " + accusative.sample + ".",
"Индивидуумы могут составлять " + accusative.sample + ", но только институты могут создать " + accusative.sample + ".",
nominative.sample.capitalize + " - это тот человек, который знает о вас все и не перестает при этом любить вас.",
"Трудно себе представить, что сталось бы с человеком, живи он в государстве, населенном литературными героями."
]
all_generated_quotes.sample
end
@think.click do
freshly_baked_random_quote = generate_random_quote(@noun_nominative, @noun_accusative)
@thought.replace(freshly_baked_random_quote)
end

当然,这是相当浪费的。它生成所有可能的引号,并丢弃除一个以外的所有引号。如果这是一个问题,修复它将是你的家庭作业。:(

相关内容

  • 没有找到相关文章

最新更新