RubyでWindowsコマンドプロンプトの結果を受け取る(取得)方法

以前このサイトで、Rubyからpingを実行する方法を載せました。便利なsystem()メソッドがあるとのことですね!

それで結果をそのまま取得して変数に入れられるのかな?と次のように書いてみましたが、結論としてsystem()はtrueを返すみたいですね!

ping = system("ping 127.0.0.1")
puts ping

Googleで調べてみるといろいろな手法がありましたが、その中でも素人プログラマーが好むわかりやすい記述を紹介します。(私だけですかね?)

バッククォートでコマンドを囲むと、実行後の結果が変数に当てはめられるとのことでした。

ping = ping 127.0.0.1
puts ping

ちなみにこちらをcmdで普通に「ruby test.rb」すると文字化けしますので、こちらを実行してください。「ruby -Ks test.rb」

このバッククォートでまたまたRubyの可能性が広がりました。作った人が天才なだけなのですが。どの言語もそうですね。こちらのやりたいことを先回りして全部準備してくれている。しかも無料っていう。まさに現代の魔法であり、魔法使いですね。