`
文章列表

RubyGem

    博客分类:
  • Ruby
RubyGem定义 Ruby的打包与安装工具,自动下载,安装,搜索依赖并安装,卸载ruby模块。 In the RubyGems world, developers bundle their applications and libraries into single files called gems. These files conform to a standardized format and typically are stored in repositories on the Internet (but you can also create your own reposit ...
15.1 Command-Line Arguments命令行参数 命令行参数格式: ruby <options><-><programfile><arguments>* options:运行参数,传给ruby的解释器 programfile:运行的文件名 arguments:传给程序的参数 第一个没有使用-或者--开头的参数被认为是options的结束。当在options后跟一个-而且没有文件名时,将从标准输入中获取程序内容。   Options -0[octal] 0标志(数字零)指定记录的分隔字符(,如果没有数字跟随)。- ...
下面的内容从摘要自CF的官网:http://docs.cloudfoundry.com/docs/running/architecture/ Cloud Controller-管理着一个数据库,表中记录orgs, spaces, apps, services, service instances, user roles, and more。 Droplet Execution Agent-管理应用实例的生命周期,跟踪 ...
线程与进程可以程序工作在并行状态。Fiber挂起执行中的某部分,进而执行另外部分。 12.1 Fibers Ruby 1.9后引入。Fiber可理解了一种程序间的协作机制(coroutine mechanism)。使得我们编程像是多线程程序,但又不引用多线程的问题。下面示例读取文本并计算每个单词的出现次数 #常规的程序写法 counts = Hash.new(0) File.foreach("testfile") do |line| line.scan(/\w+/) do |word| word = word.downcase coun ...
Ruby的内核模块已经实现了I/O相关的方法:gets,open,print,printf,putc,puts,readline,readlines,test。   11.1 IO对象 Ruby提供了基础类:IO,它的继承类有File与BasicSocket。IO对象就是建立一个双向通道,一端接Ruby,一端接外部资源。   11.2文件的打开与关闭 file = File.new("testfile", "r") #...process the file file.close #第二个参数是操作模式:r w r+(read-writ ...
异常与返回码相比,能更好的将错误情况从逻辑代码中隔离开来,即可以只关心正常逻辑,或者关心自己可以处理的异常情况。而返回码在一个call后面有多个子操作时,如果出现异常情况,则调用者较难知道是哪一步出错。 10.1 异常类 所有内置异常类都继承处Exception类。 10.2处理异常 #使用begin...rescue...end来处理抛出的异常 require 'open-uri' page= "podcasts" file_name = "#{page}.html" web_page = open("http://prag ...
Ruby中任何语句都有一个相应的返回值。 a = b = c = 0 # => 0 [ 3, 1, 7, 0 ].sort.reverse # => [7, 3, 1, 0]  if与case块返回的是最后一个语句的执行结果。 song_type = if song.mp3_type == MP3::Jazz if song.written < Date.new(1935, 1, 1) Song::TradJazz ...
8.1 方法定义 def methodName(首字母小写/下划线)。若使用了大写,在调用的时候,ruby会认为这个一个常量,而不是一个方法,就会出现错误。 方法后可以跟? ! =。如果方法返回是boolean,则代? 1.even? #=>false 2.even? #=>true 1.instance_of(Fixnum) #=>true  如果方法会修改接收者(object.method,那object就是这个方法的接受者),或者方法的操作有危险性,使用!。比如String有chop与chop!,前者返回一个修改COPY,后者直接修改当前string。 ...
7.1 正则可做啥 测试串是否匹配指定的模式 从串中提取内容它们要么全部匹配要么部分匹配指定的模式 替换串中的内容根据指定的模式 7.2 Ruby的正则 正则式的写法:/模式/。除了.|()[]{}+\^$*?,其它串都标识要匹配自身,如 ...
前面几章已涉及Array,Hash,Proc三种Ruby提供的类型。这章我们会涉及:numbers,strings,ranges及正则表达式。   6.1 数值类型 Ruby支持integers(整数),floating-point浮点型),rational(有理数),complex numbers(复数)。整型可是任意长度(内存空间的长度),超出正常整型的部分存储类型是Bignum的实例,不超出部分是Fixnum的实例,这种转换Ruby自动转换. #当超出正常范围后,自动使用Bignum num = 10001 4.times do puts "#{num.cl ...
继承 Ruby支持继承特性。to_s方法是Object内置方法。定义继承的方法 class Child < Parent #类似java的this的是#{self}  使用superclass来获取父类 class Parent end class Child < Parent end Child.superclass # => Parent 再往上就是Object 再往上就是BaseObject BasicObject.superclass.inspect # => "nil"  下面使用GServer类来演示一个通过继 ...
Containers,Blocks,and Iterators arrays与hashes是Ruby的关键内置类,块语法用于对集合分层(pair with collections)等操作。 --4.1 Arrays-------- 定义数组:a = [3.14, 'pie', 99],或者b = Array.new,然后就可以:a[x],b[i] = xx的读取或设值了,没有数组越界,操作的返回nil []是Ruby中的数组操作符,其实是Array类的方法,可接收负数,下图不错,描述了正负的内容情况: 注意:a[1..3]是从1开始,取三个值,a[1...3]从1到3,不包含3 ...
Classes,Objects,and Variables everything we manipulate in Ruby is an object.And every object in Ruby was generated either directly or indirectly from a class.所有操作都是对象操作,对象是由类直接或者间接产生。为更生动描述类与对象,先设一个案例场景,一 ...
Interactive Ruby(命令行交互) ruby:输入后,ctrl+d(end-of-file character),即可执行 irb:是ruby提供的交互工具。   Ruby Documentation:RDoc and ri RDoc与javadoc类似,用于导出source file中的API说明,导出的文件格式可以是HTML,也可以是ri格式。 ri:离线文档显示工具,比如ri GC或ri GC::enable。但在win下安装的runby环境中,上述命令没有对应的文档不输出,还需更多了解。 eg. ri Array ri Array.sort。 ::用于 ...

20分钟体验Ruby

    博客分类:
  • Ruby
20分钟体验Ruby:http://www.ruby-lang.org/zh_cn/documentation/quickstart/ 安装:三种方式:源代码;rubyinstaller.exe;ruby.exe 运行:cmd->irb ------------------------- 简单示例: 1、 >puts “Hello World” Hello World =>nil          //nil是Ruby的空值,puts命令返回nil   2、 >3*2 =>6 >Math.sqrt(9)     //Math是自带 ...
Global site tag (gtag.js) - Google Analytics