假设我已经捕获了两个值,1000
和09/01/2016
(并假设今天是10/01/2016
)。
如何在运行时将Ruby字符串"one thousand for 30 days"
转换为控制台内的可听语音?
答案 0 :(得分:3)
您可以使用gem humanize将int 1000转换为英文名称,
你还需要date1 - date2
这样的东西才能获得天数的差异。
类似的东西:
number.humanize + ' for ' + (Date.today - myDate).to_i.to_s
为了让bash大声说出这个字符串,你可以使用你提到的那个说法; 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