加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如果进程以参数启动,则Ruby readline会失败

发布时间:2020-12-16 21:51:00 所属栏目:百科 来源:网络整理
导读:我有一个最奇怪的问题.以下代码工作正常: 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.bodyend 但是,通过从参数获取主机/端口的小修改: require 'j
我有一个最奇怪的问题.以下代码工作正常:
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读取.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读