【问题标题】:Concatenation of two strings fails in ruby (why a new line?)ruby 中两个字符串的连接失败(为什么要换行?)
【发布时间】:2012-07-21 20:34:57
【问题描述】:

我有一个有线问题。我试图连接两个字符串。如果我使用@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 并将其连接起来,它工作正常,一切都在一行中......为什么会发生这种情况?有人有想法吗? :-) 我需要在一行中使用这个字符串才能使用 system(-) 命令。

【问题讨论】:

  • @client.ip 来自哪里?听起来像是在添加换行符。
  • @client.ip 的值是多少

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


【解决方案1】:

听起来@client.ip 的末尾有一个换行符。尝试剥离它

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

String#rstrip 将删除字符串末尾的所有空格。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 2021-10-06
      • 2012-01-03
      相关资源
      最近更新 更多