NilCoalescingAssignmentOperators 0.3.4

NilCoalescingAssignmentOperators 0.3.4

测试已测试
Lang语言 SwiftSwift
许可证 无许可证
Released最后发布2023年5月
SPM支持 SPM

Slipp Douglas Thompson 维护,Slipp Douglas Thompson



NilCoalescingAssignmentOperators

NilCoalescingAssignmentOperators 是一个 Swift 微型库,提供了两个 nil 合并/赋值组合运算符

??=

aVariable ??= newValueaVariable 为 nil 时执行值赋值(类似 Ruby 的 ||= 运算符)

  1. 如果 aVariable 非 nil,则不执行任何操作。
  2. 如果 aVariable 是 nil 但 newValue 非 nil,则执行赋值:aVariable = newValue
  3. 如果 aVariablenewValue 都是 nil,则不执行任何操作。
aVariable ??= newValue

等效于

// roughly:
aVariable = aVariable ?? newValue

// precisely:
if aVariable == nil { aVariable = newValue }

=??

aVariable =?? newValuenewValue 非 nil 时执行值赋值(类似 ??= 但优先于 aVariable

  1. 如果 newValue 是 nil,则不执行任何操作。
  2. 如果 newValue 非 nil,则执行赋值:aVariable = newValue
  3. 如果 aVariablenewValue 都是非 nil 的,仍执行赋值操作。
aVariable =?? newValue

等效于

// roughly:
aVariable = newValue ?? aVariable

// precisely:
if newValue != nil { aVariable = newValue }
// or
if let newValue = newValue { aVariable = newValue }

构建覆盖

主分支是 Swift 5.x,当前库版本的构建覆盖(对 Package.swift、xcodeproj 和其他构建文件的较小更改集)可在 swift-4.2swift-4、和 swift-3 分支上找到。(注意:由于 Swift 4.2 或 4.0 是最新版本,我可能不像以前那样常常构建它们,但这些建设性更改已经生效,并且我已将新的库版本合并进去。)