gpt4 book ai didi

perl - Perl中的数字和字符串串联

转载 作者:行者123 更新时间:2023-12-04 05:30:59 25 4
gpt4 key购买 nike

我是Perl的新手。我想用.运算符连接一个字符串和一个数字,第一个参数将是一个数字。我可以使用join,sprintf并简单地将它们打印为打印数字,字符串。但是我使用.运算符尝试了一下,得到了以下内容:

$foo = "hello".34 # Gives hello.34
$foo = 34."hello" # Gives an error
$foo = 34.34 # Gives 34.34
$foo = 34.34.34 # Gives """
$foo = "hello".34."hello" # Gives an error

我在Perl调试器下尝试过它们。

为什么Perl不能将数字和字符串以数字作为第一个参数,反之亦然呢?为什么34.34.34在Perl中给出“”?

最佳答案

时不时地,空白很重要。 34 . "hello""34hello"34."hello"是一个解析错误,因为34.看起来像是浮点数的开头(也许是34.5),然后解析器在获取"而不是其他数字时不知道该怎么办。无论如何,如果您在点运算符周围使用空格,则代码看起来会更好,但是必须紧跟数字。
34.34.34是一种称为version string或“v-string”的特殊构造,当您在其中包含多个点的数字时出现,可以选择在前面加上v。它创建一个字符串,其中每个字符编号都来自v字符串中的数字。因此34.34.34等于chr(34) . chr(34) . chr(34),并且由于chr(34)是双引号,因此与'"""'相同。 V字符串很有用,因为它们比较了版本号的预期方式。数字上为5.10 < 5.9,但版本上为5.10.0 gt 5.9.0

关于perl - Perl中的数字和字符串串联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959522/

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