0
루비에서 파이프를 사용하고 있으며 파이프를 통해 직렬화 된 객체를 보내지 못했습니다. 구조체를 보내므로 "NoMethodError"가 발생했습니다. 함수를 추가하려고했지만 함수를 호출 할 때 같은 오류가 발생합니다. 이 문제의 원인은 무엇이며 해결책은 무엇입니까?"NoMethodError"파이프를 통해 객체 직렬화 전송
출처 :
reader, writer = IO.pipe
#define the pair object
Pair = Struct.new(:x, :y) do
end
#creates, serializes and sends an object
fork do
temp = Pair.new(1, 2)
temp_str = Marshal.dump(temp)
writer.puts temp_str
end
#prints it's contents
fork do
obj = reader.gets
puts obj.x
puts obj.y
end
참고 : 나는 일이이 글의 두 번째 대답에서 볼 방법의 기본 개념을했다 : Marshal (Ruby) pipes: sending serialized object to child processes
의도적으로 구조체에': ty'를 넣으면 '# y'에 대한 호출이 성공하지 못한다는 것이 명백해 보입니다. 명확히하십시오. – Patru
나는 오타가 아니 었습니다. 그것은 지금 편집됩니다. – Bloodcount