转换为字符串/文本ruby

转换为字符串/文本ruby,ruby,string,text,Ruby,String,Text,我使用以下代码通过POST请求下载页面: require 'net/http' require 'uri' res = Net::HTTP.post_form(URI.parse('http://example.com'),{'post'=>'1'}) puts res.split("Date") 我最初使用的URL已替换为example.com 它工作得很好,但是当我尝试调用split(最后一行)时,它返回一个错误: ':未定义的方法#(NoMethodError)的split' 我是

我使用以下代码通过POST请求下载页面:

require 'net/http'
require 'uri'
res = Net::HTTP.post_form(URI.parse('http://example.com'),{'post'=>'1'})
puts res.split("Date")
我最初使用的URL已替换为example.com

它工作得很好,但是当我尝试调用split(最后一行)时,它返回一个错误:

':未定义的方法#(NoMethodError)的
split'


我是ruby新手,所以我对这个错误感到困惑。

您正在调用的方法返回一个对象,所以您需要利用该对象的方法来获得您想要的。可能是这样的:

require 'net/http'
require 'uri'
res = Net::HTTP.post_form(URI.parse('http://example.com'),{'post'=>'1'})
puts res.body.split("Date")
注意body方法

或者,如果要查看返回的所有数据:

require 'net/http'
require 'uri'
res = Net::HTTP.post_form(URI.parse('http://example.com'),{'post'=>'1'})
puts res.inspect

希望这有帮助

您正在调用的方法返回一个对象,因此您需要利用该对象的方法来获得您想要的。可能是这样的:

require 'net/http'
require 'uri'
res = Net::HTTP.post_form(URI.parse('http://example.com'),{'post'=>'1'})
puts res.body.split("Date")
注意body方法

或者,如果要查看返回的所有数据:

require 'net/http'
require 'uri'
res = Net::HTTP.post_form(URI.parse('http://example.com'),{'post'=>'1'})
puts res.inspect

希望这有帮助

我现在不是在一台可以测试东西的计算机上,所以我不能测试这个(这就是为什么我不把它作为一个答案),但尝试将res.to_.split(“Date”)返回以下内容:#哦,是的。对对象执行“to_s”操作将返回对象的名称及其在内存中的位置。唉。我需要更多的咖啡。我现在不在一台可以测试东西的电脑前,所以我不能测试这个(这就是为什么我不把它作为答案),但尝试将res.to_.split(“Date”)返回以下内容:#哦,没错。对对象执行“to_s”操作将返回对象的名称及其在内存中的位置。唉。我需要更多的咖啡。