コマンド実行の違い

マニュアルを読んでもコマンド実行は exec しかないと思ってたけど
よくよく見ると別のものがあった

#① コマンド実行結果を返す
ret = `date /T`
puts "ret is " + ret.to_s;
#② コマンド実行されたか否かを返す
ret =  system("date /T")
puts "ret is " + ret.to_s;
#③ コマンド実行されたら戻ってこない
ret =  exec("date /T")
puts "これは呼ばれない"