มีการจัดทำรหัสบางอย่างเมื่อบันทึกรหัสทับทิมหรือไม่ ตัวอย่างเช่นฉันมีข้อมูลโค้ดต่อไปนี้:
require 'open3'
module ProcessUtils
# Runs a subprocess and applies handlers for stdout and stderr
# Params:
# - command: command line string to be executed by the system
# - outhandler: proc object that takes a pipe object as first and only param (may be nil)
# - errhandler: proc object that takes a pipe object as first and only param (may be nil)
def execute_and_handle(command, outhandler, errhandler)
Open3.popen3(command) do |_, stdout, stderr|
if (outhandler)
outhandler.call(stdout)
end
if (errhandler)
errhandler.call(stderr)
end
end
end
end
สิ่งนี้เดาว่าไม่เป็นไร แต่อาจมีแนวทางปฏิบัติที่ดีกว่า / ดีกว่า