由于我刚开始使用编程进行冒险,特别是使用Swift,我无法解决过滤数组的问题。
在使用我的书时,我进入了一个解释数组的章节 我现在没有使用数组的问题。这是我学生用书中的代码:
var city = ["Boston", "London", "Chicago", "Atlanta"]
let filtered = city.filter{$0.range(of:"o") != nil}
这应该过滤掉带有字母“o”的城市,但是在编译时会显示此消息:
error: value of type 'String' has no member 'range
那是否意味着我不能将.range
用于字符串值?
那么代码看起来像什么?
我使用的是ubuntu作为我的操作系统。
提前致谢。
答案 0 :(得分:2)
您收到此错误,因为不幸的是 range
在Linux中不可用。如果您可以访问具有macOS
的计算机,则可以使用。
正如@Hamish所说,我完全错了,您必须导入Foundation
才能在range
上使用contains
或String
(即使您可以致电{ contains
{{}}} {1}},但未导入string.characters
)。
将此行添加到代码的开头:
Foundation