![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ruby 学习笔记
文章平均质量分 66
尤鸟倦
我与我周旋久,宁作我
展开
-
Ruby学习笔记(01)_基本概念和字符串
Ruby程序的换行Ruby 把分号和换行符解释为语句的结尾。但是,如果 Ruby 在行尾遇到运算符,比如 +、- 或反斜杠,它们表示一个语句的延续。Ruby BEGIN,END语句语法BEGIN{ begin code }END{ end code }声明begin code会再程序运行之前被调用, end code 在之后调用#实例puts "这原创 2017-09-18 10:56:29 · 455 阅读 · 0 评论 -
Ruby学习笔记(03)_变量
变量是持有可被任何程序使用的任何数据的存储位置。 Ruby 支持五种类型的变量。一般小写字母、下划线开头:变量(Variable)。$开头:全局变量(Global variable)。@开头:实例变量(Instance variable)。@@开头:类变量(Class variable)类变量被共享在整个继承链中大写字母开头:常数(Constant)。Ruby 全局变量全局变量以 $原创 2017-09-28 15:47:56 · 309 阅读 · 0 评论 -
Ruby学习笔记(07)_块
块的概念1.块由大量的代码组成。2.您需要给块取个名称。3.块中的代码总是包含在大括号 {} 内。4.块总是从与其具有相同名称的函数调用。这意味着如果您的块名称为 test,那么您要使用函数 test 来调用这个块。5.您可以使用 yield 语句来调用块。语法:block_name{ statement1 statement2 ..........}yield语句实例:#!原创 2017-10-12 14:20:45 · 278 阅读 · 0 评论 -
Ruby学习笔记(19)_继承
语法:#class 子类名 < 父类名class SubClassName < ParentClassName定义一个父类songclass Song def to_s "Song: #@name--#@artist (#@duration)" endend定义一个子类继承父类NewSongclass NewSong < Song def initiali转载 2017-10-26 18:38:06 · 359 阅读 · 0 评论 -
Ruby学习笔记(21)_限制权限
即public, private, protected使用, Ruby 和 Java 完全不同, 需要新的理解.到目前为止, 我们定义的方法, 都能作为实例方法被任意调用, 但是有时候我们可能并不希望这样。 例如, 只是为了汇总多个方法的共同处理而定义的方法, 一般不会公开给外部使用。没有指定访问级别的方法默认为 public, 但 initialize 方法是个例外, 它通常会被定义为 priva原创 2017-11-14 13:44:45 · 393 阅读 · 0 评论 -
Ruby学习笔记(23)_Capybara Finders
All#all([kind = Capybara.default_selector], locator = nil, options = {}) ⇒ Capybara::Result#all([kind = Capybara.default_selector], locator = nil, options = {}) {|element| ... } ⇒ Capybara::ResultAls转载 2017-12-06 15:35:36 · 449 阅读 · 0 评论 -
Ruby学习笔记(23)_Capybara Actions
attach_file语法:#attach_file(locator, path, options = {}) ⇒ Capybara::Node::ElementFind a file field on the page and attach a file given its path. The file field can be found via its name, id or转载 2017-12-08 10:48:05 · 333 阅读 · 0 评论 -
Ruby学习笔记(24)_Proc vs Lambda
来源codecademy一.Proc类Proc SyntaxProcs are easy to define! You just call Proc.new and pass in the block you want to save. Here’s how we’d create a proc called cube that cubes a number (raises it转载 2018-02-01 12:01:58 · 221 阅读 · 0 评论 -
Ruby学习笔记(17)_attr_accessor attr_reader attr_writer
看完别人的帖子总结一脸懵逼, 什么鬼, 不就是最基本的getter, setter, 为什么乱七八糟的设定这么多, 现在还没研究ruby编辑器, 如果有快捷键给变量加getter, setter 不就是美滋滋了嘛 答:经查证Ruby没有提供自动getter,setter方法, 所以最简便方法如同本文章所示…so sad普通的实例变量普通的实例变量,我们没法在 class 外面直接访问转载 2017-10-23 14:09:36 · 580 阅读 · 0 评论 -
Ruby学习笔记(09)_数组
Ruby数组基本情况Ruby 数组是任何对象的有序整数索引集合。数组中的每个元素都与一个索引相关,并可通过索引进行获取。 数组的索引从 0 开始,这与 C 或 Java 中一样。一个负数的索相对于数组的末尾计数的,也就是说,索引为 -1 表示数组的最后一个元素,-2 表示数组中的倒数第二个元素,依此类推。 Ruby 数组可存储诸如 String、 Integer、 Fixnum、 Hash原创 2017-10-12 17:58:42 · 287 阅读 · 0 评论 -
Ruby学习笔记(22)_capybara基础方法
项目使用了capybara,在github中研究了下资料, 这里记录下常用的简单方法. 更多详情查看—>Github_CapybaraNote: By default Capybara will only locate visible elements. This is because a real user would not be able to interact with non-...转载 2017-12-06 13:43:01 · 1864 阅读 · 0 评论 -
markdown编辑器语法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...转载 2018-06-22 10:48:05 · 185 阅读 · 0 评论 -
Ruby学习笔记(02)_类和对象
Ruby 类和对象Ruby 是一种完美的面向对象编程语言。面向对象编程语言的特性包括:1.数据封装2.数据抽象3.多态性4.继承 实例Class Vehicle{ Number no_of_wheels Number horsepower Characters type_of_tank Number Capacity Function speeding {原创 2017-09-28 15:06:26 · 376 阅读 · 0 评论 -
Ruby学习笔(06)_方法
Ruby 方法与其他编程语言中的函数类似。Ruby 方法用于捆绑一个或多个重复的语句到一个单元中。 方法名应以小写字母开头。如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常量,从而导致不正确地解析调用。 方法应在调用之前定义,否则 Ruby 会产生未定义的方法调用异常。语法:def method_name [( [arg [= default]]...[, * arg [, &exp原创 2017-10-11 17:06:39 · 262 阅读 · 0 评论 -
Ruby学习笔记(08)_模块Module
模块基本概念模块(Module)是一种把方法、类和常量组合在一起的方式。模块(Module)为您提供了两大好处。模块提供了一个命名空间和避免名字冲突。模块实现了 mixin 装置。(没懂这部分什么意思, 有理解再更新)模块(Module)定义了一个命名空间,相当于一个沙盒,在里边您的方法和常量不会与其他地方的方法常量冲突。模块类似与类,但有一下不同:1.模块不能实例化2.模块没有子类3.模块原创 2017-10-12 15:00:17 · 484 阅读 · 0 评论 -
Ruby学习笔记(10)_Hash
基本概念哈希(Hash)是类似 “key” => “value” 这样的键值对集合。哈希类似于一个数组,只不过它的索引不局限于使用数字。 Hash 的索引(或者叫”键”)几乎可以是任何对象。 Hash 虽然和数组类似,但却有一个很重要的区别:Hash 的元素没有特定的顺序。 如果顺序很重要的话就要使用数组了。创建哈希与数组一样,有各种不同的方式来创建哈希。1.可以通过 new 类方法创建一个空的原创 2017-10-13 13:27:04 · 1075 阅读 · 0 评论 -
Ruby学习笔记(11)_Date&Time
Time 类在 Ruby 中用于表示日期和时间。它是基于操作系统提供的系统日期和时间之上。该类可能无法表示 1970 年之前或者 2038 年之后的日期。创建当前的日期和时间#!/usr/bin/ruby -w# -*- coding: UTF-8 -*-time1 = Time.newputs "当前时间: "+time1.inspect#Time.now 功能相同time2 = Time.原创 2017-10-13 14:09:33 · 250 阅读 · 0 评论 -
Ruby学习笔记(12)_范围Range
范围(Range)无处不在:a 到 z、 0 到 9、等等。Ruby 支持范围,并允许我们以不同的方式使用范围:作为序列的范围作为条件的范围作为间隔的范围 作为序列的范围范围的第一个也是最常见的用途是表达序列。序列有一个起点、一个终点和一个在序列产生连续值的方式。 Ruby 使用 ”..” 和 ”…” 范围运算符创建这些序列。两点形式创建一个包含指定的最高值的范围,三点形式创建一个不包含指原创 2017-10-13 14:31:30 · 499 阅读 · 0 评论 -
Ruby学习笔记(13)_迭代器
简单来说:迭代(iterate)指的是重复做相同的事,所以迭代器(iterator)就是用来重复多次相同的事。 迭代器是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中,数组(Array)和哈希(Hash)可以称之为集合。 迭代器返回集合的所有元素,一个接着一个。在这里我们将讨论两种迭代器,each 和 collect。Ruby each 迭代器each 迭代器返回数组或哈希的所转载 2017-10-13 16:14:58 · 342 阅读 · 0 评论 -
Ruby学习笔记(16)_面对对象
Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。本章将向您讲解所有与 Ruby 面向对象相关的主要功能。类用于指定对象的形式,它结合了数据表示法和方法,把数据整理成一个整齐的包。类中的数据和方法被称为类的成员。Ruby转载 2017-10-23 13:43:57 · 419 阅读 · 0 评论 -
Ruby学习笔记(14)_异常
异常和执行总是被联系在一起。如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的。 如果异常发生,则程序停止。异常用于处理各种类型的错误,这些错误可能在程序执行期间发生,所以要采取适当的行动,而不至于让程序完全停止。 Ruby 提供了一个完美的处理异常的机制。我们可以在 begin/end 块中附上可能抛出异常的代码,并使用 rescue 子句告诉 Ruby 完美转载 2017-10-13 17:47:07 · 293 阅读 · 0 评论 -
Ruby学习笔记(20)_符号Symbol
Symbol的一篇文章结合ruby基础教程综合 博客原文What do symbols look like?This is the one area where everyone agrees. Most symbols looks like a colon followed by a non-quoted string: :myname符号能实现的功能,大部分字符串也能实现。但像散列键这样只是单原创 2017-11-09 16:48:11 · 458 阅读 · 0 评论 -
Ruby学习笔记(04)_判断
if…else语句语法:if conditional [then] code...[elsif conditional [then] code...]...[else code...]endif 表达式用于条件执行。值 false 和 nil 为假,其他值都为真。请注意,Ruby 使用 elsif,不是使用 else if 和 elif。 如果 condi原创 2017-10-10 10:11:03 · 283 阅读 · 1 评论 -
Ruby学习笔记(15)_文件输入和输出
Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。 类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。 本章节将讲解所有 Ruby 中可用的基础的 I/O 函数。如需了解更多的函数,请查看 Ruby 的 IO 类。puts 语句在前面的章节中,您转载 2017-10-16 11:16:48 · 417 阅读 · 0 评论 -
Ruby学习笔记(05)_循环
Ruby实现循环的方式times方法while语句each方法for语句until语句loop方法 注意有的是对象的方法,有的是Ruby提供的语句Ruby times 语句或者如果明确知道希望循环次数,可以使用times方法#循环5次5.times do |i| p "All work and no play makes Jack a dull boy #{i}"end原创 2017-10-11 16:04:50 · 326 阅读 · 0 评论 -
Ruby学习笔记(18)_冒号用法
What is the difference between:1) abc:2) :xyz3) Abc::Xyz4) abc: :xyz5) abc: xyz6) :abc => xyzAnswer:1) You can’t use abc: alone. See 4) for reason.2) :xyz is a symbol literal. It’s very similar to “xyz转载 2017-10-24 09:28:23 · 1102 阅读 · 0 评论 -
Ruby on rails 解决导出CSV中文乱码问题
直接如下输入CSV时, 中文会乱码, 因为csv文件 utf8编码时没有bomCSV.open(filename,"a") do |csv| csv << ["九阴真经"]end所以需要在文档第一个字符前添加\xEF\xBB\xBF,,这里引用16进制串的就必须用双引号CSV.open(filename,"a") do |csv| csv &l...原创 2018-06-22 10:53:12 · 1227 阅读 · 2 评论