ruby net/http模块使用】的更多相关文章

类的扩展和继承 class Fixnum def dosome(str) puts str end def abs puts "覆盖了原有的方法" end end puts 1.class 1.dosome("动态添加的方法") 1.abs#覆盖原有的方法 freeze冻结对象 class Test attr_accessor :value end t=Test.new t.value=1 a="test" a.freeze #a<<…
什么是模块 模块(module)是Ruby特有的功能之一.类用来表现具有数据与行为(程序)的"东西", 而模块大致来说,则是只有程序部分的集合体.类与模块最大的不同在于: 1.模块不能建立实例 2.模块不能继承 模块的用法 (1)提供命名空间 命名空间(namespace)是为了让方法.常数.类名称不互相冲突而设计的机制.命名时 名称简洁明快虽然是个好习惯,但像size.start这种太普通的名称可能就很容易重复. 这时,定义成模块的内部名称,可防止名称的冲突. 例如:Ruby将取得文…
ruby中的NET::HTTP:这里暂时先列出几个固定用法: 其中一,二不支持请求头设置(header取ruby默认值),只能用于基本的请求,不支持持久连接,如果您执行许多HTTP请求,则不推荐它们:三,四可以设置请求头: NET::HTTP不能处理重定向和404 :不支持会话保持 一. 基本GET请求get_response require 'net/http' # 基本GET请求 require 'net/http' uri = URI('http://httpbin.org/get') r…
我在查看 Array 类和 Hash 类的祖先链的时候都发现了 Enumerable,说明这两个类都mixin了Enumerable模块.Enumerable模块为集合型类提供了遍历.检索.排序等方法(collect.map.each_with_index等),该模块的方法都用到了 each ,因此那些包含了本模块的类需要预先定义 each . Array.ancestors # => [Array, Enumerable, Object, Kernel, BasicObject] Hash.a…
Enumerable模块提供了遍历,搜索,比较,排序等方法.如果我们自定义的类需要实现这些方法,必须实现一个each方法.如果需要使用max,min,sort等方法,因为这些方法是集合的元素之间的排序,所以该类还必须使用<=>方法: Array,Hash,Range,IO都Mix-in了该模块 一. 遍历,搜索方法 all? {|item| ... }当所有元素都为真时,返回true. 若某元素为假时, 立即返回false p [1,2,3].all? {|v| v > 0} # =&g…
首先需要注明一点,本文是原创的并不是从其它地方转载.所有的数据是我从 GitHub 和 RubyGems 上码下来的,数据的截取时间就是本文的发布日期. RubyGems 的下载量可以看到在用这个 gem 的人数,所以数值很大(这里收藏的下载量至少会大于10万级).而在 GitHub 上的则代表关注这个gem的源码的人数(本文收藏的至少是过 1k以上 Star 的 repository) Nokogiri RubyGems 下载总数:54,800,674 GitHub Star: 3,572 F…
转自:http://developer.51cto.com/art/200703/41243.htm 介绍 这是一个短小的Ruby入门,完全读完只需20分钟.这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby官方网站进行下载并安装. 交互式的Ruby 打开IRB(交互式Ruby外壳):如果你使用Mac OS X,那么请打开终端窗口输入irb:如果你使用Linux,那么请打开shell输入irb:如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行…
赋值: ruby支持并行赋值,即允许在赋值表达式中出现多余一个值和多于一个的变量: x,y=1,2a,b=b,ax,y,z=[1,2,3] (python同样可以正常上面的语句). Methods in Ruby are allowed to return more than one value, and parallel assignmentis helpful in conjunction with such methods. For example:# Define a method to…
1.字符串格式化 Python "%s=%s" % (k, v) 在阅读 Python 字符串格式化的时候,视线先看到字符串的 %s 字样,但是不知道这指的是什么,然后看后面的变量 k,再接着看第二个 %s ,再看后面的 v 视线必须不停地在字符串和变量之间跳动. Ruby "#{k}=#{v}" 而阅读 Ruby 字符串格式化的时候,看到需要变量的地方,变量就在那里. 顺便一说 "%s = %s" % [k,v] 这种风格的代码在 Ruby 里…
Ruby:多线程下载博客文章到本地的完整代码 #encoding:utf-8 require 'net/http' require 'thread' require 'open-uri' require 'nokogiri' require 'date' $queue = Queue.new #文章列表页数 page_nums = 8 page_nums.times do |num| $queue.push("http://www.cnblogs.com/hongfei/default.html…