Ruby net-ping使用混乱

Ruby net-ping usage confusion

我正在尝试弄清楚如何使用 net/ping gem,自从我使用它以来我有几个问题:

我很困惑,我似乎无法在 google 上找到任何关于它如何工作的信息:https://www.google.com/search?safe=off&btnG=Search&q=ruby+net%3A%3Aping%3A%3Aicmp+tutorial

如果有人能帮助我,将不胜感激,谢谢

这就是 ruby 评估 if:

的方式
irb> ping = true
 => true 
irb > ping =~ /Received = 1/
 => nil 
irb> nil ? "NIL is true" : "NIL is not true"
 => "NIL is not true" 

匹配 true 的结果是 nil,而 if nil 是假的。因此,您的第二个示例将始终输出 "true"(即使 .ping? 将是 false)。

和'admin privileges':您不能以普通用户身份创建ICMP 数据包。除非你使用 /bin/ping 这是 SUID。 (net/ping gem 不使用)。 `。