我正在使用Rubymotion构建一个iOS应用程序.我需要将一段Objective-c代码"转换"为Ruby.它是否正确?
最初是在Objective-c
[movieWriter setCompletionBlock:^{ [filter removeTarget:movieWriter]; [movieWriter finishRecording]; }];
Ruby中的相同内容?:
movieWriter(setCompletionBlock:-> { filter.removeTarget(movieWriter) }, { movieWriter.finishRecording })
Chuck.. 7
不.Ruby中的消息发送语法不是,object(message:arguments)
并且块中有多个语句的语法不是{statement1} {statement2}
.相反,你想要这样的东西:
movieWriter.completionBlock = lambda do filter.removeTarget(movieWriter) movieWriter.finishRecording end
(RubyMotion将setter completionBlock=
转换为适当的setCompletionBlock:
方法.如果你想使用显式setter方法,它看起来就像movieWriter.setCompletionBlock(lambda do …)
.)
不.Ruby中的消息发送语法不是,object(message:arguments)
并且块中有多个语句的语法不是{statement1} {statement2}
.相反,你想要这样的东西:
movieWriter.completionBlock = lambda do filter.removeTarget(movieWriter) movieWriter.finishRecording end
(RubyMotion将setter completionBlock=
转换为适当的setCompletionBlock:
方法.如果你想使用显式setter方法,它看起来就像movieWriter.setCompletionBlock(lambda do …)
.)