     /// 可选值不为空且可选值满足 `predicate` 条件才返回，否则返回 `nil`
     /// - Parameter predicate: 判断条件
     public func rat_filter(_ predicate: (Wrapped) -> Bool) -> Wrapped? {
-        guard let unwrapped = self,
-            predicate(unwrapped) else { return nil }
+        guard let unwrapped = self, predicate(unwrapped) else { return nil }
         return self
     }
-    
+
     /// 可选值不为空时返回，否则 crash可选值为空
     /// - Parameter message: 可选值为空时的 crash 信息
     public func rat_expect(_ message: String) -> Wrapped {

    }

    /// 将当前可选值与其他可选值组合在一起。当且仅当两个可选值都不为空时组合成功，否则返回空。
    ///
    /// - Parameter other: 其他可选值
    public func rat_zip2<T>(with other: Optional<T>) -> (Wrapped, T)? {
        guard let first = self, let second = other else { return nil }

infix operator ???: NilCoalescingPrecedence
public func ???<T>(optional: T?, defaultValue: @autoclosure () -> String) -> String {
    switch optional {
        case let value?:
            return String(describing: value)

        case nil:
            return defaultValue()
    }
}

