Python : xx = "p" + "y" + str(3)
=> xx == "py3"
如何使用Racket获得相同的结果?
(string-append "racket" (number->string 5) " ")
在Racket中是否有另一种类似于上面Python示例的方法,可以将数字附加到字符串末尾?
Python : xx = "p" + "y" + str(3)
=> xx == "py3"
如何使用Racket获得相同的结果?
(string-append "racket" (number->string 5) " ")
在Racket中是否有另一种类似于上面Python示例的方法,可以将数字附加到字符串末尾?
$ racket
Welcome to Racket v5.3.5.
-> (~a "abc" "def")
"abcdef"
-> (~a "abc" 'xyz 7 )
"abcxyz7"
->
Python自动将数字转化为字符串,而Racket不会这么做。 无论是Racket还是Python都不会将数字强制转换为字符串。这就是为什么你必须在Racket中显式使用number->string
,而在Python中使用 str()
("p" + str(3)
)。你也可以发现,对于一些使用Python的%
运算符的情况,Racket的format
函数表现类似:
# Python
"py %d %f" % (3, 2.2)
;; Racket
(format "rkt ~a ~a" 3 2.2)
但据我所知,Racket和Python都没有类似于"foo" + 3
这样的功能。
[根据我的错误进行了编辑。我混淆了Python行为和JavaScript,被OP误导了]