`
1000copy
  • 浏览: 74343 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Ruby 10 Minutes (摘要自---Ruby 用户指南)

阅读更多
======类 
 
简单类
 
ruby> class Mammal
   |   def initialize
   |   end
   |   def breathe
   |     print "inhale and exhale\n"
   |   end
   | end
  nil
 
继承,用<
ruby> class Cat<Mammal
   |   def speak
   |     print "Meow\n"
   |   end
   | end
 
创建对象
 
ruby> pochi = Cat.new
  #<Cat:0xbcb90>  
 
 
调用方法
 
ruby> pochi.speak
Bow Wow
  nil  
 
 
成员变量
全局变量  $          
实变量    @          
局部变量    小写或者_ 打头
常量      大写字母开头
 
存取器
 
Shortcut缩写          Effect等同于  
attr_reader :v        def v; @v; end  
attr_writer :v        def v=(value); @v=value; end  
attr_accessor :v      attr_reader :v; attr_writer :v  
attr_accessor :v, :w  attr_accessor :v; attr_accessor :w  
 
 
======方法
 
参数应在一对括号内
 
object.method(arg1, arg2)
 
 
括号可以省掉.
 
object.method arg1, arg2
 
 
特殊变量self;
 
self.method_name(args...)
 
 
和这一样
 
method_name(args...)
 
特殊成员方法inspect方法,类似C#的ToString
 
ruby> class Fruit
   |   def inspect
   |     "a fruit of the " + @kind + " variety"
   |   end
   | end
  nil
ruby> f2
  "a fruit of the banana variety"  
 
构造方法initialize,用super调用父类
 
ruby> class Cat<Mammal
   |   def initialize
   |     super
   |     print "Meow\n"
   |   end
   | end
 
=====Cool 迭代之yield,retry
 
yield 让流程可以使用Block
 
ruby> def repeat(num)
   |   while num > 0
   |     yield
   |     num -= 1
   |   end
   | end
  nil
ruby> repeat(3) { print "foo\n" }
foo
foo
foo
  nil
 
 
案例:有while相同作用的迭代器
 
ruby> def WHILE(cond)
   |   return if not cond
   |   yield
   |   retry
   | end
  nil
ruby> i=0; WHILE(i<3) { print i; i+=1 }
012   nil
 
retry语句从头执行迭代.这是一个死循环,到2就重新执行
 
ruby> for i in 0..4
   |   print i
   |   if i == 2 then
   |     retry
   |   end
   | end;
 
===== 迭代
 
 
字符串迭代
 
each_byte
 
> "abc".each_byte{|c| printf "%c", c}
abc
 
 
each_line.
 
ruby> "a\nb\nc".each_line{|l| print l}
a
b
 
 
 
=====数组
 
定义数组:方括号里列出元素,不限定类型
 
ruby> ary = [1, 2, "3"]
  [1, 2, "3"]  
 
 
数组加
 
ruby> ary + ["foo", "bar"]
  [1, 2, "3", "foo", "bar"]
 
数组乘
 
ruby> ary * 2
  [1, 2, "3", 1, 2, "3"]  
 
 
访问
ruby> ary[0]
  1
ruby> ary[0..1]
  [1, 2]
ruby> ary[-2]
  2
 
 
数组字符串转换
 
ruby> str = ary.join(":")
  "1:2:3"
ruby> str.split(":")
  ["1", "2", "3"]  
 
=============哈希表
 
定义
ruby> h = {1 => 2, "2" => "4"}
  {1=>2, "2"=>"4"}
使用
ruby> h[1]
  2
ruby> h["2"]
  "4"
ruby> h[5]
  nil
ruby> h[5] = 10     # appending value
  10
ruby> h
  {5=>10, 1=>2, "2"=>"4"}
删除
ruby> h.delete 1   # deleting value
  2
 
 
==============字符串
 
单引号,双引号都可以做字符串定界符
 
  > "abc"
  > 'abc'
 
字符串可以跨行
"foo
bar"
 
双引号的字符串允许字符转义(Escape),用#{}内嵌表达式.
 
 >"\n"
 >"name="1000copy"
 > #{name}"
 
单引号字符串保持原字符串
 
ruby> print 'a\nb\n'
a\nb\nc
 
字符串乘
 
> "foo" * 2
  "foofoo"
 
抽取字符,返回ASCII
 
ruby> word[0]
  102            # 102 is ASCII code of `f'
ruby> word[-1]
  111            # 111 is ASCII code of `o'  
 
提取子串:
 
ruby> herb = "parsley"
  "parsley"
ruby> herb[0,1]
  "p"
ruby> herb[-2,2]
  "ey"
 
检查相等:
 
ruby> "foo" == "foo"
  true
 
 
正则表达式
 
// 表达为regexp
/\w/  字母或数字
/\s/  非空
 
optimize my sight——from Refactor to DB Turning
Blog         :http://1000copy.iteye.com
MicroBlog : t.sina.com.cn/1000copy
club page  :http://www.cdsoftwareclub.com
 
 
1
0
分享到:
评论

相关推荐

    src-oepkgs/ruby-ruby2ruby

    src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...

    ruby-debug-ide

    《深入理解Ruby调试工具:ruby-debug-ide》 在Ruby编程世界中,高效的问题排查与代码调试是开发者必备的技能之一。ruby-debug-ide正是这样一个强大的调试接口,它为Ruby开发环境提供了集成的调试支持,使得开发者...

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64.zip

    总的来说,"rubyinstaller-devkit-3.0.2-1-x64.zip"是一个完整的Ruby开发环境,包含Ruby解释器和必要的开发工具,使得Windows用户可以轻松地安装和使用Ruby及其相关的开源库。这个压缩包对于希望在Windows系统上进行...

    ruby-1.8.7-p72-i386-mswin32.zip

    标题 "ruby-1.8.7-p72-i386-mswin32.zip" 提供的信息表明,这是一个针对i386架构的Windows 32位系统的Ruby编程语言的版本1.8.7,具体补丁级别为p72。Ruby是一种面向对象的、动态类型的脚本语言,由日本人松本行弘于...

    ruby-enterprise-1.8.6-20090201

    标题“ruby-enterprise-1.8.6-20090201”揭示了这个版本的具体信息:它基于Ruby 1.8.6版本,并在2009年2月1日发布。这个版本是为Linux操作系统设计的,正如描述“ruby-enterprise-1.8.6-20090201.tar for linux”所...

    ruby-2.5.3-x64 下载

    标题中的"ruby-2.5.3-x64"指的是Ruby语言的特定版本,2.5.3,这是一个64位的构建。Ruby的版本迭代频繁,每个新版本通常会包含性能优化、新的特性和错误修复。2.5.3是2018年发布的一个稳定版本,它带来了诸如改进的...

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件 Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、...

    XiaoMi-Ruby-15.6-UMA-only-master.zip

    标题中的“XiaoMi-Ruby-15.6-UMA-only-master.zip”表明这是一个与小米(XiaoMi)相关的项目,使用了Ruby编程语言,适用于15.6英寸的设备,且专注于UMA(Unified Memory Architecture)技术。UMA是计算机内存架构的...

    ruby-debug-ide-0.4.16.gem

    ruby-debug-ide-0.4.16.gem

    DEV ruby x64 V2.5.1-1 便携版

    DEV ruby x64 V2.5.1-1 便携版 DEV ruby x64 V2.5.1-1 Portable

    ruby-kaigi-notes-源码.rar

    "ruby-kaigi-notes-源码.rar" 文件很可能包含了历届 Ruby Kaigi 大会的参会者笔记,这些笔记通常以源码的形式记录了会议中的精华内容,对深入理解 Ruby 语言和相关技术有极大的帮助。 首先,让我们来了解一下 Ruby ...

    基于Ruby的oh-my-zsh Shell环境个性化定制设计源码

    zsh Shell环境个性化定制设计源码,包含1599个文件,涵盖649个zsh配置文件、372个Markdown文档、144个zsh主题文件、27个Ruby脚本文件、20个PNG图片文件、18个Shell脚本文件、15个YAML配置文件、11个配置文件、10个...

    ruby-oo-fundamentals-attribute-accessors-lab-sea01-seng-ft-07132

    标题中的"ruby-oo-fundamentals-attribute-accessors-lab-sea01-seng-ft-07132"表明这是一个关于Ruby面向对象基础的实验,重点是属性访问器(Attribute Accessors)。在这个实验室中,可能涉及到如何在Ruby类中定义...

    DEV ruby x64 V2.5.1-1-nodevkit 便携版

    DEV ruby x64 V2.5.1-1-nodevkit 便携版 DEV ruby x64 V2.5.1-1-nodevkit Portable

    Ruby_learning_教程-中文版

    - c:/ruby/lib/ruby/site_ruby: 用户自己的Ruby代码或第三方库目录。 - c:/ruby/src: Ruby源代码目录。 - c:/ruby/samples: 示例程序目录,用于存放各种例子。 编写Ruby程序时,所有的源文件都必须以.rb作为文件...

    rh-ruby25-rubygems-devel-2.7.6-6.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    ruby-couch-db-源码.rar

    《Ruby与CouchDB:深入理解ruby-couch-db源码》 Ruby是一种强大的动态编程语言,以其简洁的语法和灵活性深受开发者喜爱。在Web开发领域,Ruby常常与Rails框架一起被用于构建高效、可维护的应用程序。而CouchDB则是...

    ruby_file_jekyll-paginate-plugin.zip

    ruby_file_jekyll-paginate-plugin

    ruby-debug-1.87.rar

    《Ruby调试工具:ruby-debug-1.87详解》 Ruby是一种动态、开源的编程语言,以其简洁的语法和强大的元编程能力深受开发者喜爱。在开发过程中,调试是必不可少的一环,而`ruby-debug-1.87`就是Ruby社区中广泛使用的...

Global site tag (gtag.js) - Google Analytics