ruby学习笔记

定义数组并使用block迭代:
animals = %w(ant bee cat dog elk)
animals.each{|animal|puts animal}

 ant

 bee

 cat

 dog

 elk

 

 

使用lambdm定义block为proc对象并使用call调用执行:
def n_times(thing)
	return lambda{|n| thing*n}
end

p1 = n_times(23)
puts p1.call(3)
puts p1.call(4)
p2 = n_times("Hello ")
puts p2.call(3)

输出:

69

92

Hello Hello Hello 

 

使用Net::HTTP可以方便发送http请求和接受相应,支持头设置和Get,Post,Delete,Put子类的对应操作

 

uri = URI('http://example.com/cached_response')
file = File.stat 'cached_response'

req = Net::HTTP::Get.new(uri.request_uri)
req['If-Modified-Since'] = file.mtime.rfc2822

res = Net::HTTP.start(uri.hostname, uri.port) {|http|
  http.request(req)
}

open 'cached_response', 'w' do |io|
  io.write res.body
end if res.is_a?(Net::HTTPSuccess)

通过 req['If-Modified-Since'] = 。。。设置HTTP头。 

如果需要发送Delete操作只需要将 Net::HTTP::Get 换为 Net::Http::Delete 即可,Post和Put类似。

你可能感兴趣的:(Ruby)