0
롤백 역할을하는 클래스를 생성해야합니다. 난 데롤백 클래스 만들기 - Ruby
class Rollbacker
def perform(*args, &block)
begin
objCopy, @originalState = args
objCopy.each do |i|
i.instance_eval(&block)
end
rescue
objCopy = @originalState //Here i tried also with args = originalState
raise
end
end
문제는 (블록이 인수와 잘 실행) 잘 작동 "수행"고하지만, 구조가 발생 (에러가 발생) 할 때, 내가 인수가 반환 필요도가 원래 상태입니다 "시작"의 변화는 없지만 일어나지는 않습니다.
(가) 내가 인수의 복사 작업 후 구조에 변화거야 "시작", 그런데 왜 무엇에
어떤 생각을 작동하지 모르는에 내가 틀리지 않는 경우 변화?
루비 강하게 그래서'objCopy'는'obj_copy'해야, 변수와 메소드 이름을 명명 밑줄 스타일로 모든 소문자를 권장합니다. 이는 대문자가'ClassName'이나'CONSTANT_NAME'과 같은 상수를 나타 내기 위해 사용되기 때문입니다. – tadman
이 코드를 어떻게 사용하고 있습니까? 그것이 채용되는 방식은 완전히 명확하지 않습니다. 예외를 던지게하는 간단한 예제와 그렇지 않은 간단한 예제를 함께 사용하면 무엇이 잘못되었는지 설명하는 것이 더 쉬울 것입니다. – tadman
만약 당신이'args'를 돌연변이한다면'clone'을 사용하여 그것을 보존하고 구조 블록에서 _that_를 사용하십시오. – Anthony