gpt4 book ai didi

ruby - 在 Ruby 中读取一行文本时,如何删除 "hidden"个字符?

转载 作者:数据小太阳 更新时间:2023-10-29 08:53:35 24 4
gpt4 key购买 nike

我在 Puppet 中使用自定义 Ruby 函数从文件中读取文本字符串。我不是将读取的任何版本与已知版本列表进行比较,以确定我应该为该特定服务器使用哪个配置文件。问题是,当我将读取的版本与我的已知版本列表进行比较时,它们都不匹配。

我将变量打印到屏幕上,看起来不错。然后我在开头和结尾添加了一个'-',这次打印了以下内容

-2.2#012-

有谁知道这是什么以及如何删除它?

这是我的过程。

处理应用程序安装的脚本

sudo echo "2.2" > /opt/version

我的 ruby​​ 函数

if FileTest.exists?("/opt/version")
Facter.add("app_version") do
setcode do
version = File.open('/opt/version', &:readline)
version
end
end
end

我的 puppet list

if versioncmp( $app_version, '2.2') == 0 {
notice("===> Installing 2.2 Configs")
} elsif versioncmp ($app_version, '2.3') == 0 {
notice("===> Installing 2.3 Configs")
} else {
notice("===> No version match. Continuing on.")
}
}

最佳答案

File.readline 包括行终止符(在您的情况下为“\n”)。 chomp 将摆脱行终止:

version = File.open('/opt/version', &:readline).chomp

调试时,如果您想查看变量中的真正,请使用p 而不是putsp 将转义不可打印的字符,以便您可以看到它们:

puts "2.2\n"    # => 2.2
#
p "2.2\n" # => "2.2\n"

关于ruby - 在 Ruby 中读取一行文本时,如何删除 "hidden"个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7016404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com