Julia中单引号和双引号的区别

18

在 Julia 中,单引号和双引号有什么区别?

与 Python 不同的是,Julia 不允许使用单引号表示字符串:

> s = 'abc'
syntax: invalid character literal
> s = "abc"
> print(s)
abc

但是在尝试单引号引用双引号时,这是允许的:

> s = '"'
> print(s)
"

在Julia中,单引号的用途是什么?是否有类似Python PEP的文档来解释为什么不使用单引号?

1个回答

25

就像在C/C++中一样,单引号表示字符,而双引号则表示字符串(请参见,例如,此处)。

julia> c = 'a'
'a'
julia> typeof(c)
Char
julia> s = "a"
"a"
julia> typeof(s)
String
julia> s = "ab"
"ab"
julia> typeof(s)
String
在Python中,我们只需使用长度为1的字符串作为字符,但是Julia区分它们,因此我们得到:

在Python中,我们只需将长度为1的字符串作为字符使用,但Julia对它们进行了区分,因此我们得到:

julia> typeof("abc"[1:1])
String    
julia> typeof("abc"[1])
Char

尽管在Python中我们有

>>> type("abc"[0:1])
<type 'str'>
>>> type("abc"[0])
<type 'str'>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接