如何让我的 Ruby 脚本在运行时公布值?

How can I make my Ruby script announce values as it runs?

假设我捕获了两个值,100009/01/2016(假设今天是 10/01/2016)。

如何让 Ruby 在控制台运行时将字符串 "one thousand for 30 days" 转换为可听语音?

您可以使用 gem humanize 将 int 1000 转换为其英文名称,

而且您还需要 date1 - date2 之类的东西来计算天数。

类似于:

number.humanize + ' for ' + (Date.today - myDate).to_i.to_s

为了让 bash 大声说出这个字符串,您可以使用您提到的 say 命令; ruby 允许从语言中轻松调用 bash 命令,只需执行以下操作:

str = number.humanize + ' for ' + (Date.today - myDate).to_i.to_s
`say #{str}`

否则,如果您想要更原生的解决方案,可以使用 espeak gem:

speech = Speech.new(str)
speech.speak # invokes espeak