gpt4 book ai didi

syntax - 具有空白字符的 Elixir 中的奇怪行为

转载 作者:行者123 更新时间:2023-12-04 01:49:21 27 4
gpt4 key购买 nike

在定义例如函数默认参数或在列表定义中使用 head|tail 时,我在 Elixir 中遇到了一个奇怪的行为。

这不起作用并导致错误 unexpected token: " " :

def a(b \\ "test") do
b
end

但是这个确实:

def a(b \\"test") do
b
end

区别在于空白字符 " "在默认字符串参数之前 "test"

这也不起作用并导致错误 unexpected token: " " :

[0 | [1,2,3,4,5]]

但是这个确实有效:

[0 |[1,2,3,4,5]]

再次区别在于空白字符 " "在尾列表定义之前 [1,2,3,4,5]

问题存在于 IEX 和编译代码中。我正在运行 Elixir 1.4。我的系统是 macOS Sierra,我使用 iTerm 作为我的终端应用程序。

所以问题是:这是正确的行为还是在我的环境中有什么问题?它可能是什么?所有示例和指南都允许在这些位置使用空格,但出于某种原因我的环境不允许。我能做些什么吗?

提前谢谢你!

最佳答案

问题已如评论中所述得到解决。

在 macOS 上 alt+space 提供不间断空格字符而不是普通空格。所描述的问题大部分发生在插入任何带有 alt 组合的字符之后的空格之后,因为我没有足够快地释放 alt 键,因此提供了错误的空格。

有关在 macOS 上解决此问题的说明(如果您想禁用备用空间)请查看此问题:https://superuser.com/questions/78245/how-to-disable-the-option-space-key-combination-for-non-breaking-spaces

关于syntax - 具有空白字符的 Elixir 中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com