读到一个换行符 \n 之后,计数器加一,直到找到符合要求的行数后,读内容到文件末尾输出。支持 –f 部分的想法是,在文件最后的位置不断地循环读,发现新内容后就进行输出。.../usr/bin/ruby 2 3 line = ARGV[0] 4 filename = ARGV[1] 5 6 unless line && filename then 7 ...\n" 8 print "Usage:ruby tail.rb line filename\n" 9 end 10 line = line.to_i 11 12 begin 13
ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言--即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念...(可以通过 “puts 变量.class“查看) 3.ruby相对c#来讲,可能有些雷的地方在于:父类中的private成员,居然是可以在子类中使用的!......其它地方,等学习深入了再写出来 最后上一段测试代码,展示了ruby中类的基本用法: class People #跟javascript这类动态语言一样,ruby中的类也没有public,private...def call_private_method #子类可以调用父类的私有方法!!!...本身对变量没有类型概念,但是这样却不行,即:在调用父类的受保护方法时,其实是要类型匹配的 puts aMan.class #显示aMan的类名称 运行结果如下: >ruby classDemo.rb
动态语言之所以“动态”,最明显的特征就是:类实例的行为/属性可以在new出后,动态修改!个人觉得这种处理相对java/c#(静态语言)来说,更符合现实世界。...比如:一个人刚出生时,除了哭、吃奶等这些基本原始本能,其它的几乎全都不会(原始本能可理解类定义中最开始定义的属性和方法),但随着时间推移,学会了看书,走路,说话...
在做测试的时候,经常需要把一些信息输出到控制台,但是格式上比较乱,想弄成一个类似SQL客户端的那个输出格式,在参考了一些资料后自己写了一个简单的控制台网格输出的类,分享代码供大家参考。...类代码如下(下一步优化其他数据类型和header以及边栏支持): package com.fun.utils; import com.fun.frame.SourceCode;import net.sf.json.JSONObject...public static void show(List> rows) { new ConsoleTable(rows); } /** * 输出...); }); output(stringBuffer.append(LINE + getHeader()).toString()); } /** * 输出
完整的 Ruby 程序是由对象以及发送给对象的消息组成的。类定义了一组行为或者功能,每一个对象都是类实例化而来的,每一个对象都是不同的。...Ruby 中提供了大量的内置类,如 Integer,String,Array 等,当然也可以编写自定义的类或者给内置类修改或者添加新的功能。...Ruby 中类的概念没有对象重要,Ruby 作为一种动态解释型语言,对象在实例化过程中是可以改变的,对象可以在实例化过程中改变类中定义的行为或者增加原类中没有定义的行为,这就是 Ruby 语言的动态特性...Ruby 程序需要通过 Ruby 解释器来执行,该解释器名为 ruby,在代码文件目录下执行命令: ruby exchange.rb 输入兑换的人民币金额 2000,输出可兑换的澳币金额为: 输入要兑换的人民币金额...(元):2000 兑换的澳币金额为(刀):430.4 ruby 解释器可以检查语法错误,通过添加 -c 参数检查语法错误,*-w* 参数激活高级别的警告,如果语法正确输出如下: 如果语法有错误则会输出具体的错误信息和错误行
一、问题导入 编写一个程序,只用两条输出语句,生成一个像半个5*5正方形形状(直角三角形)的#符号图案: ##### #### ### ## # 二、问题分析 我们可以采用消减法,先把它想象成一个5*5...如果我们观察上面的程序清单并把它与自己所需要的半正方形的输出进行比较,可以发现问题在于条件表达式hashNum <= 5上。这个条件产生了5个相同的、由5个#符号所组成的行。...8 printf("#"); 9 } 10 printf("\n"); 11 } 12 } 三、问题延伸 编写一个程序,只用两条输出语句产生一个类似侧三角形形状的
能够用 \curl -L https://get.rvm.io | bash -s stable 查看rails版本号 rails -v Rails 4.0.3 似乎这就是当前的最新版本号 Ruby...版本号 We recommend Ruby 2.1.0 for use with Rails....We stopped supporting Ruby 1.8.x after Rails 3.2. Ruby 1.9.2+ will be supported until Rails 5....guides.rubyonrails.org/getting_started.html 运行命令 $rails generate controller welcome index 就会创建以下这些文件(Ruby...On Rails 4 hello world,Ruby On Rails上手) create app/controllers/welcome_controller.rb route get
(Output),Ruby 中的 I/O 方法如下: 操作 栗子 说明 打印/输出到控制台 print "Ruby" puts "Hello" p "World" 如果字符串结尾没有换行符 puts...函数会自动添加一个,但是 print 函数不会自动添加,p 函数会输出一个字符串格式数据。...二、Ruby 标识符 Ruby 中的标识符类型不多,主要包含了 变量, 常量, 关键字, 方法名 等,而变量又包含了局部变量, 全局变量, 实例变量 和 类变量。...如 @name、*@age* 类变量是在每一个类层级上存储信息,要区分于实例变量在对象层级上存储信息;对象是由类实例化而来的。类变量以 @@ 开头,使用与局部变量相同的命名规则。...关键字 Ruby 中的关键字大约有 40 个,通常都是一些简单的单一词汇。常用的关键字有 def 方法定义、class 类定义、if 条件判断等。
一、Ruby 的安装目录 在 Ruby Programming | 连载 01 - Intro and Setup 中展示了通过 rvm 安装 Ruby 的过程,安装 Ruby 不仅会安装 ruby 解释器...二、Ruby 的扩展库 安装 Ruby 是一同安装的扩展通常成为 Ruby 的标准库,与 Python 的标准库一样,Ruby 的中的大量标准库也提供了非常多的功能或者扩展,包括数据库管理、网络、数据分析等...文件,在同级目录下创建 coffee.rb,代码如下: puts "服务员:对不起先生,这个是大杯" puts "服务员:这个才是中杯" puts "服务员:中杯、大杯、特大杯" 执行 buy.rb,输出结果如下...执行 buy.rb 文件,输出结果如下: 罗老师说要一个中杯的拿铁 服务员:对不起先生,这个是大杯 服务员:这个才是中杯 服务员:中杯、大杯、特大杯 罗老师疯了.......执行 buy.rb 代码,输出结果与之前内容保持一致。
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上。...[root@web ~]# yum install rubygems ruby-devel 0x02 查看ruby的版本 [root@web ~]# ruby -v ruby 1.8.7 (2013...on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p648] [ruby-]2.1[.10...] [ruby-]2.2[.7] [ruby-]2.3[.4] [ruby-]2.4[.1] ruby-head # for forks use: rvm install ruby-head-ruby -v ruby 2.2.7p551 (2014-11-13 revision 48407) [x86_64-linux] 至此,ruby版本升级成功
(一)Ruby中一切都是对象 比如可以用.class属性来查看一个对象的类型,看下1.class,会发现常数1的类型是Fixnum,1是Fixnum的一个实例。...(二)Ruby语法 Ruby中的类以class开始 以end结束,类名首字母的约定是大写; Ruby中的方法以def开始 以end结束,方法名首字母的约定是小写; Ruby...中的局部变量名首字母的约定是小写; Ruby中的构造函数(构造方法)名称为initialize; 即类在创建新对象时,调用这一方法 Ruby中的成员变量(实例变量...,对象变量)用@符号,在initialize里进行声明与初始化; Ruby中的属性用attr,attr_writer,attr_reader和attr_accessor声明; Ruby中的全局变量用...$符号; Ruby中的常数(常量)用大写字母开头,约定是全部大写; Ruby中任何的表达式都会返回值。
require 'postgres' conn = PGconn.connect("",5432, "", "", "testdb")
前言 记录ruby的一些报错 错误 Could not find a valid gem 'pumagem' (>= 0) in any repository ERROR: Could not find...就好了 # gem -v 2.7.8 # gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ https...-l *** CURRENT SOURCES *** https://gems.ruby-china.com/ Your Gemfile lists the gem paranoia (~> 2.2...Your Ruby version is 2.5.3, but your Gemfile specified 2.5.1 我的Gemfile中指定的版本是2.5.1但是系统中ruby的实际版本是2.5.3...修改Gemfile.lock和Gemfile中的ruby版本,更改成系统中的版本 3. 将ruby版本回退到项目需要的版本
“ Ruby基本概念和使用方法” Ruby是什么? Ruby中,一切皆对象。比如,数字。 Ruby需要通过解释器运行,这和python等语言类似。 Ruby能做什么?...hard to guess value of x" end 注意第二个分支是 elsif 函数 def func(msg) puts "Hello #{msg}" end 调用函数: 也可以不加括号: 类...def initialize(msg="World") @msg = msg end def func puts "Hello #{@msg}" end end 实例化类对象...,并调用其方法 ruby脚本 我们看一个比较完整的ruby类。...如果要动手开发插件,还需要深入学习更多Ruby的细节和特性,可点击“阅读原文”进行查阅。 值得一提的是,Ruby官方提供的学习资料还是很丰富的,也有不少中文文档。
文件类以及IO输入输出 我们在java使用中必不可少与文件交互,由此IO流显得格外重要 绝对路径和相对路径 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件 相对路径:必须使用取自其他路径名的信息进行解释...,如果创建成功为true;但若已有该文件或创造失败输出false } } 注意:window同一页面下不允许出现目录或文件名字一样的情况 File类删除功能 方法如下: 方法名 说明 public...:这个抽象类是表示字节输入流的所有类的超类 OutputStream:这个抽象类是表示字节输出流的所有类的超类 子类名特点:子类都是以其父类名作为子类名结尾 字节流写数据 FileOutputStream...Reader:字符输入流抽象类 Writer:字符输出流抽象类 字符流中的编码解码问题相关类 InputStreamReader OutputStreamWriter 下面给出示例代码: //下面仅对于讲解纯净版...减少代码冗杂 字符缓冲流 字符缓冲流关键类: BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可指定缓冲区大小 BufferedReader:从字符输入流读取文本
This is because in Ruby a class is simply an object of class Class. 2....The second thing to notice is that Ruby provides a method class_eval that takes a string and evaluates...instance variables should be maintained separately for each object instance. that is, if you do: > ```ruby...Here is some skeleton code: > ```ruby class Class def attr_accessor_with_history(attr_name) attr_name...= 1 f.bar = 2 f.bar_history # => if your code works, should be [nil,1,2] ####My Example Code ```ruby
使用Script.net开发环境,开发和调试脚本文件,支持多个版本的脚本语言,包括perl、tcl、ruby、pyhon、nsis。...在script.net安装完工具后,在工具的开始页面有脚本工具库sdk的下载链接 ruby入门笔记,资料参考http://www.w3cschool.cc/ruby/ruby-hash.html 1.调试打印命令...^_^) 2.数据类型 a1=0 详细数据类型,具体使用时可参考资料 3.类和对象 class A...相当于静态成员变量 end 对象的引用object=A.new (四种变量:局部变量无符号,实例变量:@,类静态成员变量
Ruby has four types of variable scope, local,global, instance and class....In addition, Ruby has one constant type....is useful to know, however, that a number of pre-defined global variables are available to you as a Ruby...developer to obtain information about the Ruby environment....script file currently executing $* The command line arguments used to invoke the script $$ The Ruby
Ruby中的类、方法与模块 Ruby中的类 类是对对象行为和属性的描述。...模块可以在类中引入,这样模块的方法就会成为类的方法。可以使用这个小技巧来实现Ruby的多重继承。 Ruby中的方法(函数) Ruby中的方法区分为实例的方法、类的方法、函数性方法。...这两个方法,在PHP等脚本语言中也非常常见,能够为处理变量和多行的文本输出带来很大的方便。 另外一个需要关心的问题,就是字符串的编码问题。...String类提供了sub、gsub、scan三个方法可以接收正则表达式对象。 IO类 IO是每个程序语言必不可少的部分,通常IO有三个,标准输入、标准输出、错误输出。...File和Dir类 IO类为我们提供了操作输入、输出的标准方法,但是对于我们平时经常遇到的文件系统来说,对于文件和目录的操作是我们经常要进行的,所以Ruby提供了File和Dir类,同时还提供了FileTest
示例1: require 'sqlite' db = SQLite::Database.new("library.db") db.execute("...
领取专属 10元无门槛券
手把手带您无忧上云