hi
sorry!
i can not speak english well…
This is how I know…
“abcdef”.gsub(/c/) {|h| puts h}
but, Why do I get an error that my code…
this is my code
require ‘net/http’
page= Net::HTTP.new(‘www.google.co.kr’,80)
reg = page.get(’/index.html’)
reg.gsub(/a/) {|gg| puts gg}
puts reg
thank you…
On Sat, Aug 30, 2008 at 2:59 PM, Hwang In-seok [email protected]
wrote:
reg.gsub(/a/) {|gg| puts gg}
puts reg
thank you…
String#gsub does string substitution, but it cannot replace /a/ with
nil, and the return value of ‘puts’ is nil.
Maybe you want to try String#scan instead, like this:
p reg.scan(/a/)
^ manveru
Michael F. wrote:
p reg.scan(/a/)
^ manveru
thank you…
but, ‘gsub’ and ‘scan’ both have the same error.
error is…
http.rb:9: private method `scan’ called for #<Net::HTTPOK 200 OK
readbody=true> (NoMethodError)
private method is what mean??
i don’t understand…
please teach me.
This is your code :
require ‘net/http’
page= Net::HTTP.new(‘www.google.co.kr’,80)
reg = page.get(’/index.html’)
reg.gsub(/a/) {|gg| puts gg}
puts reg
Your are trying to use gsub on the object returned by Net::HTTP , which
isn’t a string . Your code should look like this :
require ‘net/http’
page= Net::HTTP.new(‘www.google.co.kr’,80)
reg = page.get(’/index.html’)
reg.body.gsub!(/a/) {|gg| puts gg}
puts reg.body
Pay attention to the gsub! , which modifies the string in-place .Judging
by your script,that is what you want .