aardio - 字符串引用方式对比

    关于aardio里面字符串的引用方法,因为相同的字符串,用不同的包括符号,导致最终生成的的字符串不一样,所以容易产生 “代码执行结果不正确” 这样一种假象,而实际上则是因为字符串已经发生变化,跟自己想要的不同了。

 

    这里以 “换行”+“a\nb”+“换行”+“c”+“换行” 为例简单演示一下,用不同的包括符号,产生的字符串有什么区别:

import console; 
 
//单引号,支持转义,不支持换行,换行必须用\n进行转义
s1=
'
a\nb
c
'
//多行注释符,不支持转义,支持中间换行,忽略紧跟着注释符的换行,换行用\r\n表示
s2 = 
/*
a\nb
c
*/
//双引号,不支持转义,支持换行,换行用\n表示
s3=
"
a\nb
c
"
//反单引号,不支持转义,支持换行,换行用\n表示
s4=
`
a\nb
c
`
//单行注释符,不支持转义,不支持换行
s5 = //a\nb
 
console.dump("字符串原文:",s1,"字符串长度",#s1,"十六进制:",..string.hex(s1))
console.dump("字符串原文:",s2,"字符串长度",#s2,"十六进制:",..string.hex(s2))
console.dump("字符串原文:",s3,"字符串长度",#s3,"十六进制:",..string.hex(s3))
console.dump("字符串原文:",s4,"字符串长度",#s4,"十六进制:",..string.hex(s4))
console.dump("字符串原文:",s5,"字符串长度",#s5,"十六进制:",..string.hex(s5))
 
console.pause(true);

列表对比一下: 

字符串表示方法包括符号支持转义符支持换行符

字符串结果

●表示\n

●●表示\r\n

字符串长度十六进制
'
a\nb
c
'
单引号×a●bc4\x61\x0A\x62\x63
/*
a\nb
c
*/
多行注释符×a\nb●●c7\x61\x5C\x6E\x62\x0D\x0A\x63
"
a\nb
c
"
双引号×●a\nb●c●8 \x0A\x61\x5C\x6E\x62\x0A\x63\x0A
`
a\nb
c
`
反单引号×●a\nb●c●8 \x0A\x61\x5C\x6E\x62\x0A\x63\x0A
//a\nb单行注释符×a\nb4\x61\x5C\x6E\x62

其中,多行注释的:

s2 = 
/*
a\nb
c
*/

因为忽略紧跟着注释符的换行(前后各一个),所以结果相当于:

s2 = 
/*a\nb
c*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值