# use a YML file, which has key , value pairs
yml_hosts = YAML::load(File.open('hosts.yml'))
.....
# for each pair
yml_hosts.each_pair {|key_hosts , value_hosts|
......
redirect to a String "value_hosts"
value_hosts << "#{$.} #{line}" if line =~ /recoverable NFE/
有没有更好的方法,因为我使用的条件:
if ! value_hosts.empty?
to do an action, like sending email, etc
but value_hosts is never Empty
so i always get an email, even though, i ONLY want top get an email, if
line =~ /recoverable NFE/
答案 0 :(得分:1)
答案 1 :(得分:1)
它只是一种通常用于向调用者附加数据的方法,无论是向数组添加新元素,还是将新文本附加到字符串。
也许你问的是如何使用它来符合“Ruby Way”。
我只在将对象添加到集合(数组)时才使用它。
在您的代码示例中,您可以替换此表达式:
! value_hosts.empty?
类似
value_hosts.mailable?
并在mailable?
方法中定义规则。
答案 2 :(得分:0)
&LT;&LT;只是另一种方法。
a << 4
与
相同a.<<(4)
以与其他方法相同的方式定义,执行和评估。做任何你喜欢的事。