2

2 つの文字列 (どちらも数値) を加算せずに結合するにはどうすればよいですか? 例えば:

@output = 2567 + 18

望まないこと:

結果は "2585" を返します (2 つの数値を数学的に加算したものです)。

私がしたいこと:

結果は「256718」を返します。ご覧のとおり、今回は 2 つの数値が加算されているのではなく、結合されています。

実際の例:

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

モデルからその行を実行すると、「パーマリンク」というタイトルの行は、最後に作成されたユーザー ID を取得するだけで、「2585」はその前に結合されません。また、最初の例のように「&&」の代わりに「+」メソッドを使用すると、2 つの数値が数学的に加算されます。

何か案は?

4

3 に答える 3

3

両方の値を文字列に変換します。1 つ目は文字列リテラルで、2 つ目はto_sメソッドを使用した明示的な変換です。

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

最初に数値**を**文字列に変換してみてください。あなたの例では

@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 に答える