cocoaPods源码中也有使用该语法,如下面所示,我们来分析一下含义是什么
def installation_options
@installation_options ||= Pod::Installer::InstallationOptions.from_podfile(self)
end
语法问题 @installation_options ||= Pod::Installer::InstallationOptions.from_podfile(self)
的含义是什么呢?
其实
@installation_options ||= Pod::Installer::InstallationOptions.from_podfile(self)
相当于
@installation_options || @installation_options = Pod::Installer::InstallationOptions.from_podfile(self)
相当于
if @installation_options
return @installation_options
else
if Pod::Installer::InstallationOptions.from_podfile(self)
@installation_options = Pod::Installer::InstallationOptions.from_podfile(self)
else
@installation_options = nil
end
return @installation_options
end