随笔分类 -  ruby学习

个人ruby学习整理
摘要:1.读取csv 文件中读取:一次读入全部(设置headers使 CSV#shift() 以CSV::Row对象返回而不是数组;使 CSV#read() 返回 CSV::Table 对象而不是数组) CSV.read('test.csv') #=> Array #headers默认为false,如果设 阅读全文
posted @ 2018-05-24 02:11 掘屎男孩 阅读(3350) 评论(0) 推荐(0) 编辑
摘要:类方法 路径相关: File.basename(filename <, suffix>) -> string返回给定文件名 filename 的最后一部分。如果有 suffix 参数,且它出现在 filename 的末尾。 则它将被删除。通过使用 ".*" 可以去除任意扩展名 File.basena 阅读全文
posted @ 2018-05-15 22:41 掘屎男孩 阅读(1878) 评论(0) 推荐(0) 编辑
摘要:1.logger创建 2.设置日志级别 3.设置日志输出格式 4.日志打印 阅读全文
posted @ 2018-05-15 10:19 掘屎男孩 阅读(1951) 评论(0) 推荐(0) 编辑
摘要:类方法 1. Dir[pat] Dir::glob( pat) 返回一个数组,包含与指定的通配符模式 pat 匹配的文件名: * - 匹配包含 null 字符串的任意字符串 ** - 递归地匹配任意字符串 ? - 匹配任意单个字符 [...] - 匹配封闭字符中的任意一个 {a,b...} - 匹配 阅读全文
posted @ 2018-05-14 00:07 掘屎男孩 阅读(1354) 评论(0) 推荐(0) 编辑
摘要:“==” 最常见的相等性判断 “==” 使用最频繁,它通常用于对象的值相等性(语义相等)判断,在 Object 的方法定义中,“==” 比较两个对象的 object_id 是否一致,通常子类都会重写覆盖这个方法,通过比较内部值来判断对象是否相等。 比如 String 类,他是来计较实际的文字串是否相 阅读全文
posted @ 2018-05-11 01:32 掘屎男孩 阅读(2883) 评论(0) 推荐(0) 编辑
摘要:Time类用于表示时间。时间除了表示年月日时分秒的信息外,还包含了表示地域时差的时区(time zone)信息。例如我们可以计算中国当前时间是国际协调时间的几点 Date类只用于表示年月日。因此,相对于Time类以秒为单位计算时间,Date类则是以天为单位进行计算的。Date类还可以求下个月的同一天 阅读全文
posted @ 2018-05-10 02:29 掘屎男孩 阅读(2797) 评论(0) 推荐(0) 编辑
摘要:http://ruby.bastardsbook.com/chapters/html-parsing/ http://www.nokogiri.org/ 阅读全文
posted @ 2018-05-08 01:31 掘屎男孩 阅读(384) 评论(0) 推荐(0) 编辑
摘要:Creating Requests require 'unirest' response = Unirest.post 'http://httpbin.org/post', headers:{ Accept:'application/json' }, parameters:{ age: 23, fo 阅读全文
posted @ 2018-05-07 02:06 掘屎男孩 阅读(778) 评论(0) 推荐(0) 编辑
摘要:OpenURI is an easy-to-use wrapper for Net::HTTP, Net::HTTPS and Net::FTP(OpenURI支持重定向) 像打开普通文件那样打开http/ftp的URL open("http://www.ruby-lang.org/") {|f| 阅读全文
posted @ 2018-05-07 00:50 掘屎男孩 阅读(1404) 评论(0) 推荐(0) 编辑
摘要:ruby中的NET::HTTP;这里暂时先列出几个固定用法: 其中一,二不支持请求头设置(header取ruby默认值),只能用于基本的请求,不支持持久连接,如果您执行许多HTTP请求,则不推荐它们;三,四可以设置请求头; NET::HTTP不能处理重定向和404 ;不支持会话保持 一. 基本GET 阅读全文
posted @ 2018-05-06 23:59 掘屎男孩 阅读(8647) 评论(0) 推荐(1) 编辑
摘要:Enumerable模块提供了遍历,搜索,比较,排序等方法。如果我们自定义的类需要实现这些方法,必须实现一个each方法。如果需要使用max,min,sort等方法,因为这些方法是集合的元素之间的排序,所以该类还必须使用<=>方法; Array,Hash,Range,IO都Mix-in了该模块 一. 阅读全文
posted @ 2018-04-23 01:09 掘屎男孩 阅读(331) 评论(0) 推荐(0) 编辑
摘要:一.符号创建 符号是Symbol类的实例,使用冒号加一个标识符即可创建符号 二.符号字符串相互转换 三.符号与字符串的比较 阅读全文
posted @ 2018-04-22 17:50 掘屎男孩 阅读(369) 评论(0) 推荐(0) 编辑
摘要:一.字符串创建 %Q相当于" "创建字符串,%q相当于' '创建字符串使用场景:需要构造一个很长的字符串,而且包含有不少的单引号双引号 支持转义符和嵌入字符串 二.基本操作 [] 字符串元素引用 str = 'Element reference test' puts str[1] #=> l put 阅读全文
posted @ 2018-04-22 17:14 掘屎男孩 阅读(550) 评论(0) 推荐(0) 编辑
摘要:1.puts([obj[, obj2[, ....]]] ) 依次将obj和换行符输出到$>。若没有参数的话则只会输出换行符。 若参数是数组,则依次输出数组元素和换行符。若将既非数组又非字符串的对象传递给参数时,将尝试使用使用to_s方法将其化为字符串。若是nil则输出字符串"nil"。 若参数是以 阅读全文
posted @ 2018-04-20 11:21 掘屎男孩 阅读(433) 评论(0) 推荐(0) 编辑
摘要:范围(Range)无处不在:a 到 z、 0 到 9、等等。Ruby 支持范围,并允许我们以不同的方式使用范围: 作为序列的范围 作为条件的范围 作为间隔的范围 Range 转化为 Array Range的迭代 阅读全文
posted @ 2018-04-18 00:37 掘屎男孩 阅读(464) 评论(0) 推荐(0) 编辑
摘要:一. 查看ruby支持的编码 二. 搜索编码 三. __ENCODING__ 这里提一下: 源代码文件中,若包含中文编码,则需要注意两点: 1. 必须在首行添加 # -*- coding: UTF-8 -*-,告诉解释器使用utf-8来解析源码。 2. 必须设置编辑器保存文件的编码为utf-8。 四 阅读全文
posted @ 2018-04-17 01:28 掘屎男孩 阅读(1128) 评论(0) 推荐(0) 编辑
摘要:1. mysql2连接选项 2.使用实例 这里results的class是Mysql2::Result,这个结果集mixin了Enumerable模块;我们可以通过迭代对其进行访问 支持Prepared statements 阅读全文
posted @ 2018-04-16 17:44 掘屎男孩 阅读(615) 评论(0) 推荐(0) 编辑
摘要:一. URI 二. 常用方法 encode_www_form(enum, enc=nil) encode_www_form(enum, enc=nil) decode_www_form(str, enc=Encoding::UTF_8, separator: '&', use__charset_: 阅读全文
posted @ 2018-04-16 16:13 掘屎男孩 阅读(1154) 评论(0) 推荐(0) 编辑
摘要:JSON 通常用于与服务端交换数据。 在接收服务器数据时一般是字符串。 我们可以使用 JSON.parse() 方法将数据转换为 ruby 对象。 一. json字符串解析 如果json字符串比较复杂,包含单引号,双引号;这里有两个办法: 二.ruby json对象转为json字符串 to_json 阅读全文
posted @ 2018-04-16 11:11 掘屎男孩 阅读(3482) 评论(0) 推荐(0) 编辑
摘要:一. 核心类库: 二.标准类库: 文本 base64.rb 处理Base64编码的模块 csv.rb CSV(Comma Separated Values)库 ruby 1.8 特性 digest.so 消息摘要库 请参考[ruby-src:ext/digest/digest.txt.ja] dig 阅读全文
posted @ 2018-04-16 00:56 掘屎男孩 阅读(648) 评论(0) 推荐(0) 编辑