当前位置: 首页 > 面试题库 >

来自编译器的此响应是否有效?

阳修永
2023-03-14
问题内容

以下代码调用错误。我在参考资料中找不到关于此的任何信息。’=’运算符右侧缺少空格是一个错误。

let names =["Anna", "Alex", "Brian", "Jack"]

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

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

答案:这段摘录似乎回答了我的问题。我只是找不到最长的时间:

运算符周围的空白用于确定将运算符用作前缀运算符,后缀运算符还是二进制运算符。以下规则总结了此行为:

如果运算符的两边或两边都没有空格,则将其视为二进制运算符。例如,a + b和a +
b中的+运算符被视为二进制运算符。如果运算符仅在左侧具有空格,则将其视为前缀一元运算符。例如,
b中的
运算符被视为前缀一元运算符。如果运算符仅在右侧具有空格,则将其视为后缀一元运算符。例如,a
b中的
运算符被视为后缀一元运算符。如果运算符的左侧没有空格,但是紧跟着一个点(。),则将其视为后缀一元运算符。例如,a
。b中的 运算符被视为后缀一元运算符(a .b而不是 .b)。

摘录自:苹果公司“ The Swift Programming
Language”。iBooks。https://itun.es/us/jEUH0.l


问题答案:

在后面添加一个空格=。(=[看起来太伤心是一个运营商。)它可能看到=value作为使用的(可能的,但没有实现)前缀运算符。

Swift并不像C那样与空格完全无关…特别是,它使用空格来区分前缀和后缀运算符(因为++i++在C中是语法奇数)。但是对于像Python这样的空白也不是很荒谬的。



 类似资料:
  • 我得到这个错误: 我该怎么解决这个? 我使用的是Scala 2.12.8和Vert.x 3.7.1 感谢提前!

  • --我只是试图从html中检索数据,这样我就可以从应用程序的url中显示更新的数据,是Volly的方式还是我应该使用更简单的方法? 下面是我的volley StringRequest和RequestQueue:

  • 问题内容: 我正在尝试使用正则表达式搜索网页,但出现以下错误: TypeError:无法在类似字节的对象上使用字符串模式 我知道为什么urllib.request.urlopen()返回一个字节流,因此,至少在我看来,re不知道要使用的编码。在这种情况下我该怎么办?有没有办法在urlrequest中指定编码方法,或者我需要自己重新编码字符串?如果是这样,我想做什么,我假设我应该从标题信息中读取编码

  • 问题内容: 在关于反射的本教程中,它指出: […]因为泛型是通过类型擦除实现的,因此在编译过程中会删除有关泛型类型的所有信息 我的知识是使用泛型,以便在编译时编译器可以检查类型安全性。即失败快速方法。但是该链接提到类型擦除会在编译期间删除通用信息。 问题答案: 您引用的语句是正确的:编译器在编译过程中在内部使用通用类型信息,在处理源时会生成与类型相关的错误。然后,一旦完成验证,编译器将生成类型擦除

  • 我的任务是简单地制作一个控制器,当它们准备好时立即给我结果(下面的简单示例) 我想得到字符串的确切数量(例如1000个字符串,以某种方式为1秒)(实际上我需要得到func的结果,但为了简化任务,只是字符串) 因此,当我在控制器中收到一些请求时,我希望它能以这种方式在它们准备好后尽快给出答案(无需缓冲结果): 1秒钟 “一些绳子”- 1秒钟 “另一个”- 1秒钟 “第三个”- 1000秒 “一些绳子