Ruby'de aşağıdaki gibi bir dizi sistem çağrım var ve çıkış kodlarını aynı anda kontrol etmek istiyorum, böylece bu komut başarısız olursa betiğimin çıkması.
system("VBoxManage createvm --name test1")
system("ruby test.rb")
Gibi bir şey istiyorum
system("VBoxManage createvm --name test1", 0)
<- burada ikinci parametre çıkış kodunu kontrol eder ve bu sistem çağrısının başarılı olduğunu onaylar ve değilse, bir hata oluşturur veya bu tür bir şey yapar.
Bu mümkün mü?
Bu çizgide bir şey denedim ve bu da işe yaramadı.
system("ruby test.rb")
system("echo $?")
veya
`ruby test.rb`
exit_code = `echo $?`
if exit_code != 0
raise 'Exit code is not zero'
end
exit_code
bir dizge olacak - ya "0\n"
da "1\n"
, bu nedenle exit_code != 0
her zaman doğru olacaktır