首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译器的响应有效吗?

编译器的响应有效吗?
EN

Stack Overflow用户
提问于 2014-06-04 03:48:31
回答 3查看 3K关注 0票数 14

下面的代码调用一个错误。我在参考资料中找不到有关这方面的任何资料。'=‘操作符右侧缺少空格是一个错误。

代码语言:javascript
复制
let names =["Anna", "Alex", "Brian", "Jack"]

此语法的任何其他组合都会编译。根据我们现在对Swift的了解,有人知道这是否是真正无效的语法吗?

编辑:错误响应是:Prefix/postfix '=' is reserved

答:这段节选似乎回答了我的问题。我只是很久没找到它:

操作符周围的空格用于确定操作符是用作前缀运算符、后缀运算符还是二进制运算符。这种行为概括为以下规则: 如果运算符两边或两边都有空格,则将其视为二进制运算符。例如,a+b和a+b中的+运算符被视为二进制运算符。如果运算符的左边只有空格,则将其视为前缀一元运算符。例如,++运算符在++b中被视为前缀一元运算符。如果运算符的右侧只有空格,则将其视为后缀一元运算符。例如,++ b中的a++运算符被视为后缀一元运算符。如果运算符左边没有空格,但后面紧跟着一个点(.),则将其视为后缀一元运算符。例如,++操作符在a++.b中被视为后缀一元运算符(a++ )。B而不是++ .b)。

摘录自:苹果公司。“斯威夫特编程语言”iBooks。https://itun.es/us/jEUH0.l

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-04 04:05:21

=之后添加一个空格。(=[看起来太悲伤了,不适合做操作员。)它可能将=value看作是对前缀操作符(可能的,但不是实现的)的一种使用。

斯威夫特并不像C那样完全不懂空格.特别是,它使用空白来区分前缀和后缀操作符(因为C中的++i++是语法上的一个奇怪现象)。但是,对Python这样的空格也没有过分严格的要求。

票数 14
EN

Stack Overflow用户

发布于 2014-06-04 03:50:31

尝试在=[之间添加一个空格。

当相等号位于括号的正前方时,编译器假定您试图对数组执行前缀操作。

票数 2
EN

Stack Overflow用户

发布于 2014-06-04 03:52:06

=[之间放一个空格,

代码语言:javascript
复制
let names = ["Anna", "Alex", "Brian", "Jack"]

=[似乎是一个保留运算符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24028666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档