大家好!有一个报价生成器与鞋。
@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
当然,这是相当浪费的。它生成所有可能的引号,并丢弃除一个以外的所有引号。如果这是一个问题,修复它将是你的家庭作业。:(