在Swift 5中,我需要一个非常特殊的(小)功能。
该函数将使用任意字符串作为参数,有关该参数的唯一已知信息是它至少包含字符“ a”或“ b”之一。该功能仅对字符“ a”和“ b”感兴趣,而忽略其他字符。如果最后找到的是“ a”,则返回“ a”,如果是“ b”,则返回“ b”。
例如,让f为该函数。
f("aaa") // returns a.
f("a3242avfvabbba54gg") // returns a.
f("abaagdfb") // returns b.
f("479wfwrvfb8709iho") // returns b.
Run Code Online (Sandbox Code Playgroud)
显然,编写这样的函数很容易,但是我想知道在Swift 5中使用最后一个API是否有一种特别干净的方法。
我找到了String的last(where :)方法,但是没有示例代码可以清楚地说明其用法。所以我不确定这是否是我要使用的。
您可以使用以下方法实现此功能last(where:):
func f(_ s: String) -> Character {
return s.last(where: "ab".contains)!
}
Run Code Online (Sandbox Code Playgroud)
请注意,我曾经!强制打开包装,因为您说过总是会有一个aor b。