- 主题:[0xfor x in (1,2,3)]
不就是没有标点吗
--
FROM 59.66.18.*
当前lexer这个地方肯定是故意的。它0x后面不直接跟0-f会报错,0x后面的_不直接跟0-f也会报错,但其它情况就不报错了。
当初可能是偷懒,现在就是在向后兼容。
【 在 eGust 的大作中提到: 】
: 变量不能以数字开头是废话,你倒是说个能用数字开头当变量名的语言瞧瞧?
: lexer 写成这德行只是偷懒而已,就跟 r'' 不能用 \ 结尾一样,根本毫无道理可言
--
FROM 58.37.58.*
我来给大家讲个笑话:python 不同版本间的兼容性
【 在 ilovecpp (cpp) 的大作中提到: 】
: 当前lexer这个地方肯定是故意的。它0x后面不直接跟0-f会报错,0x后面的_不直接跟0-f也会报错,但其它情况就不报错了。
: 当初可能是偷懒,现在就是在向后兼容。
--
FROM 122.59.26.*
【 在 eGust (十年) 的大作中提到: 】
: 变量不能以数字开头是废话,你倒是说个能用数字开头当变量名的语言瞧瞧?
: lexer 写成这德行只是偷懒而已,就跟 r'' 不能用 \ 结尾一样,根本毫无道理可言
js 的 raw string 也是这个德行。。。
--
FROM 59.41.118.*
js 并没有 raw string 的语法啊,你指的是哪个?
c# 里 @"" 基本一样的用法,人家也没不能用 \ 结尾
【 在 vonNeumann (劣币驱逐良币 | 少灌水) 的大作中提到: 】
: js 的 raw string 也是这个德行。。。
--
FROM 122.59.26.*
我指的是 String.raw
String.raw`\r\n` === '\\r\\n'
String.raw`\` --> Unexpected end of input
不过,它在语法上真的是把后面的这个字符串(附带上解释转义字符之前的 "raw string")作为参数喂给函数 String.raw。定了这个实现方式,就没法避免不能用 \ 结尾的缺陷。当然我也很想吐槽它这种纠结的设计。
【 在 eGust (十年) 的大作中提到: 】
: js 并没有 raw string 的语法啊,你指的是哪个?
: c# 里 @"" 基本一样的用法,人家也没不能用 \ 结尾
--
修改:vonNeumann FROM 183.60.88.*
FROM 183.60.88.*
这个比法不太公平啊……
foo`template string` 并不改变 `` 本身既支持 escaping 又支持 interpolation 的语法,而 String.raw 和其它的函数也没有任何区别,并不起到改变语义的作用
c# 的甚至还支持 @"foo""bar" == "foo\"bar",表达能力非常完整
反过来看 py,就真的是 raw string,什么 escaping 啊完全不支持,而且 r 跟引号之间还不能有空格。就这么一个表达能力极其有限的文法,还不支持 \ 结尾,除了懒以外,真的是完全找不到任何理由了。而且说实话,也真的实在是太懒了,都知道实现起来一点儿都不复杂。
【 在 vonNeumann (劣币驱逐良币 | 少灌水) 的大作中提到: 】
: 我指的是 String.raw
: String.raw`\r\n` === '\\r\\n'
: String.raw`\` --> Unexpected end of input
: ...................
--
FROM 122.59.26.*
还是 C++ 的完备,可以让任何字符都不用转义。。虽然那个括号很讨厌
【 在 eGust (十年) 的大作中提到: 】
: 这个比法不太公平啊……
: foo`template string` 并不改变 `` 本身既支持 escaping 又支持 interpolation 的语法,而 String.raw 和其它的函数也没有任何区别,并不起到改变语义的作用
: c# 的甚至还支持 @"foo""bar" == "foo\"bar",表达能力非常完整
: ...................
--
FROM 183.60.88.*
r'' 不能用 \ 结尾
恶心人
我遇到过
【 在 eGust 的大作中提到: 】
: js 并没有 raw string 的语法啊,你指的是哪个?
: c# 里 @"" 基本一样的用法,人家也没不能用 \ 结尾
:
--
FROM 60.1.13.*