如何将fixnum添加到ruby中的字符串中?

CJ *_*ean 1 ruby string

如果我想在ruby中包含单词和数字的字符串,例如"worda, wordb, 12, wordc, 10," 我是否需要先将数字转换为字符串即.a = 12.to_s?

Eri*_*nil 6

混合字符串和整数的可能方法

这取决于你想要怎么做:

["worda", 10].join(', ')
"worda, #{10}"
"worda, %d" % 10
"worda" + ", " + 10.to_s
"worda" << ", " << 10.to_s
Run Code Online (Sandbox Code Playgroud)

一切都归来 "worda, 10"

join和字符串插值都会.to_s隐含地调用.

String + Integer

"worda" + 10
Run Code Online (Sandbox Code Playgroud)

TypeError,但是,因为有没有隐式转换+.

否则"1" + 2可能是"12"3.Javascript接受它并返回"12",这是一个混乱恕我直言.

字符串<<整数

最后:

"worda, " << 10
Run Code Online (Sandbox Code Playgroud)

是一个有效的Ruby语法,但它附加ASCII代码10(换行符),而不是数字10:

"worda, \n"
Run Code Online (Sandbox Code Playgroud)