2016-09-25 4 views
3

私は100009/01/2016という2つの値を取得しているとします(今日は10/01/2016とふりましょう)。Rubyスクリプトの実行時に値をアナウンスする方法を教えてください。

文字列"one thousand for 30 days"を実行時にコンソール内の可聴音声に変換するにはどうすればよいですか?

+0

蘭 ':あなたはより多くのネイティブソリューションをしたい場合、あなたはespeak宝石を使用することができ、そうでない場合

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

:ルビーは、ちょうどこのような何かを簡単に言語内からのbashコマンドを呼び出すことができますsudo gem install espeak-ruby'を実行し、スクリプトに 'requre espeak-ruby'を入れましたが、次のエラーが出ました:' require ':そのファイルを読み込むことができません - espeak-ruby(LoadError) ' – Forwarding

答えて

3

あなたは英語でその名前にint型1000年を変換するために宝石humanizeを使用することができ、

ます。また、日中の違いを取得するためにdate1 - date2のようなものを旧姓と思います。

ような何か:bashのはあなたが言及した非常に言うコマンドを使用することができ、大声でこの文字列を話せるようにするために

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

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

しかし、走る? OS Xのターミナルでの 'hello '機能のように。 – Forwarding

+0

@Forwarding 'puts'や' p'を使って値をstdoutに出力することができます。たとえば、 '+(Date.today - myDate)'に 'puts number.humanize + 'を指定します。結果の文字列が端末にエコーされます。 –

+0

はい、私はそれが実行されるように可聴スピーチのように話しています。 – Forwarding

関連する問題