【问题标题】:Compact if with OR statement doesn't trigger如果 with OR 语句不触发则压缩
【发布时间】:2016-12-26 16:57:48
【问题描述】:

灵感来自this我现在做

hostname = %x{hostname}

if ['staging', 'prod', 'jlpc'].include? hostname
  puts "yes"
end

我的 Linux 主机名是 jlpc,但它不会打印出 yes

为什么这不起作用?

【问题讨论】:

    标签: ruby


    【解决方案1】:
    %x{hostname}
    # => "hostname\n"
    

    解决方案:

    puts "yes" if ['staging', 'prod', 'jlpc'].include? hostname.chomp
    

    【讨论】:

    • Stray ` 在最后。
    【解决方案2】:

    我在我的机器上进行了尝试,该行在我的主机名末尾附加了一个 \n。所以,试试

    hostname = %x{hostname}.rstrip
    

    【讨论】:

    • 虽然没有错,chomp 是这里的常规方法。主机名中不应包含空格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多