2

如何在不将它们相加的情况下将两个字符串(都是数字)连接在一起?例如:

@output = 2567 + 18

我不想要的:

结果返回“2585”(它以数学方式将两个数字相加)。

我想要什么:

结果返回“256718”。如您所见,这一次这两个数字已连接在一起,而不是相加。

一个真实的例子:

Profile.create(:permalink => 2585 && User.last.id)

当我从我的模型中运行该行时 - 标题为“永久链接”的行只是获取最后创建的用户 ID,并且“2585”没有连接在它前面。此外,如果我使用“+”方法而不是像第一个示例中的“&&”,则这两个数字在数学上相加。

有任何想法吗?

4

3 回答 3

3

将两个值都转换为字符串。第一个使用字符串文字,第二个使用该to_s方法进行显式转换。

Profile.create(:permalink => "2585" + User.last.id.to_s)
于 2012-12-17T05:48:17.193 回答
3

我认为您可以先尝试将数字**s 转换为 **string。对于你的例子

@output = "2567" + "18"

或者

@output = (2567.to_s) + (18.to_s)

都会得到 256718,这就是你想要的。

于 2012-12-17T05:54:46.433 回答
0

我不太了解 Ruby,但我认为使用字符串文字会告诉解释器您想要做什么。尝试:

Profile.create(:permalink => "2585" + User.last.id)
于 2012-12-17T05:44:09.880 回答