নীচের মতো রুবিতে আমার কাছে প্রচুর সিস্টেম কল রয়েছে এবং আমি তাদের প্রস্থান কোডগুলি একই সাথে পরীক্ষা করতে চাই যাতে আমার স্ক্রিপ্টটি বাইরে না যায় যদি সেই আদেশটি ব্যর্থ হয়।
system("VBoxManage createvm --name test1")
system("ruby test.rb")
আমি এরকম কিছু চাই
system("VBoxManage createvm --name test1", 0)
<- যেখানে দ্বিতীয় প্যারামিটারটি প্রস্থান কোডটি পরীক্ষা করে এবং নিশ্চিত করে যে সেই সিস্টেম কল সফল হয়েছিল এবং যদি তা না হয় তবে এটি ত্রুটি বাড়াবে বা এই জাতীয় কিছু করবে।
এটা কি আদৌ সম্ভব?
আমি এর লাইন ধরে কিছু চেষ্টা করেছি এবং এটিও কার্যকর হয়নি।
system("ruby test.rb")
system("echo $?")
অথবা
`ruby test.rb`
exit_code = `echo $?`
if exit_code != 0
raise 'Exit code is not zero'
end
exit_code
একটি স্ট্রিং হবে - হয় "0\n"
বা "1\n"
তাই exit_code != 0
সবসময় সত্য হবে