两个字符串的连接在ruby中失败(为什么是新行?)

时间:2012-07-23 15:14:42

标签: ruby-on-rails ruby string concatenation string-concatenation

我有线问题。我试图连接两个字符串。如果我用@ Client.ip执行此操作,我会得到一个包含新行的字符串。 @ Client.ip是一个字符串。

我用过这个:

order= "net rpc shutdown #{ip} --user=administrator%***! --timeout=100 --force -C 'bla'"

或者

order= "net rpc shutdown "+ @client.ip + " --user=administrator%*** --timeout=100 --force -C 'bla'"

结果如下:

net rpc shutdown 178.213.111.69
  --user=administrator%*** --timeout=100 --force -C 'bla'

如果我手动编写ip并连接它,那么它工作正常,一切都在一行......为什么会发生这种情况?有人有想法吗? :-)我需要在一行中使用此字符串来使用系统( - )命令。

2 个答案:

答案 0 :(得分:3)

听起来@client.ip在它的末尾有一个换行符。尝试将其删除

order= "net rpc shutdown #{@client.ip.rstrip} --user=administrator%*** --timeout=100 --force -C 'bla'"

String#rstrip将删除字符串末尾的任何空格。

答案 1 :(得分:2)

您可以尝试将chomp helper用于字符串类

order= "net rpc shutdown #{ip.chomp} --user=administrator%***! --timeout=100 --force -C 'bla'"