我有一个最奇怪的问题.以下代码工作正常:
require 'json' require 'net/http' h = Net::HTTP.new("localhost",4567) while(l = gets.chomp!) res = h.post("/api/v1/service/general",l) puts res.body end
require 'json' require 'net/http' h = Net::HTTP.new(ARGV[0],ARGV[1]) while(l = gets.chomp!) res = h.post("/api/v1/service/general",l) puts res.body end
..并从ruby service.rb localhost 4567开始……
我收到此错误:
service.rb:4:in `gets': No such file or directory - localhost (Errno::ENOENT)
在Ubuntu 11.04上使用ruby 1.9.2p0
解决方法
你有没有尝试过(l = $stdin.gets.chomp!)?否则Kernel#从ARGV读取.