rubyonrails:我爱  Ruby  的 3十 7个理由

这里我就不累述 Ruby 语言历史了如果您还不了解 Ruby官方网站WebSite www.ruby-lang.org 是最好去处而对于已经了解 Ruby 各位我在此给出我爱上这门(相对比较)新语言理由 Ruby 是面向对象语言 这意味着什么呢?确有关“什么是 OOP”每十位员当中恐怕就有十 2种看法这个问题我留待您自己判断而就特征而言Ruby 提供了机制将数据和思路方法封装到对象里实现了个类到另... [阅读全文]

therubyway:ruby way的Io的 2

1 检测文件是否存在及其大小   FileTest exist?思路方法可以检测个文件是否存在: flag = FileTest::exist?("LochNessMonster") flag = FileTest::exists?("UFO") # exists? is a synonym for exist?  如果我们想要知道文件是否有内容可以使用File::Statzero? 思路方法: ... [阅读全文]

therubyway:ruby way的IO的一

1 打开和关闭个文件   类思路方法File. 打开个文件并将它例子化为个File对象他第个参数是文件名.   可选第 2个参数叫做 mode (这个也是从c得来).他意思是怎样打开个文件(读写或者其他).默认是r(也就是读). file1 = File.("one")    # Open for reading  file2 = File.("two", "w") # Open for writ... [阅读全文]

therubyway:ruby way的动态特性的 2

1 得到所定义实体列表   ruby反射api能够使我们在运行时检测类和对象因此我们下面将会介绍Module, Class, 和Object中定义些思路方法   Module模块有个constants 思路方法它将会返回系统中所有常量名包括类名和模块名nesting 思路方法则是返回当前点上嵌套模块列表.   Ruby代码 list = Math.constants  # ["E", "PI"] ... [阅读全文]

therubyway:ruby way的动态特性的一

1 动态evaluate代码   全局思路方法eval 编译并且执行段包含ruby代码片断串这是个很power机制它允许你建造在运行时   执行代码看下面例子:   Ruby代码 parameters = {}  ARGF.each do |line|  name, expr = line.split(/\s*=\s*/, 2)  parameters[name] = eval expr end ... [阅读全文]

therubyway:ruby way的高级OOP特性的 2

1 把代码像对象样存储   当你想要以对象形式存储块代码时候ruby给了你几种思路方法下面我们会介绍Proc 对象, Method 对象和 UnboundMethod 对象.   内置Proc 类包装ruby block到个对象.Proc对象像个blocks是个闭包而且保存了它定义时上下文:   Ruby代码 myproc = Proc. { |a| puts "Param is #{a}" } ... [阅读全文]

therubyway:ruby way的高级OOP特性的一

1 发送条消息给个对象   当你个思路方法时你也就是发送了条消息给个对象在ruby中我们能够在运行时决定那个思路方法被send 思路方法就是做这个他接受个symbol为参数.   举个简单例子假设我们要写个排序我们想要使用区别域作为比较key虽然我们这时可以用block可是如果使用send话我们能有个更优美写法:   Java代码  Person  attr_reader :name, :age,... [阅读全文]

therubyway:ruby way的OOP的 2

1 理解allocate   在些特殊环境中你可能需要不它构造器(也就是initialize)来创建个对象也就是说你想要创建个空对象.例如假设你有个对象它状态完全由它存取思路方法所确定因此如果你不是真想要个另外状态话思路方法是没必要.此时我们能allocate思路方法.   Ruby代码  Person  attr_accessor :name, :age, :phone   def initia... [阅读全文]

therubyway:ruby way的OOP的一

1 使用多个构造思路方法   在ruby中没有像c或者ruby中构造器可是我们依然能够创建出类似多个构造器:   Ruby代码   ColoredRectangle   def initialize(r, g, b, s1, s2)   @r, @g, @b, @s1, @s2 = r, g, b, s1, s2  end   def ColoredRectangle.white_rect(s1,... [阅读全文]

rubyonrails:Ruby 取得指定月日期数的思路方法

代码如下:er" _disibledevent=复制代码 代码如下:require 'date' day = Date.(2008, 2, -1) end_of_month = day.strftime('%d').to_i year_and_month = day.strftime('%Y%m') for today in 1..end_of_month do p sprf('%s%02d',... [阅读全文]

rubyonrails:ruby 标准类型整理总结

、数字Ruby支持整数和浮点数整数可以是任意长度 定范围内整数以 2进制存放它们属于fixnum类型当超出这个范围时则自动转换为bignum类型 表达方式:符号+串数字串中下划线会被忽略(前缀包括:0表示 8进制, 0x表示十 6进制, 0b表示 2进制)123_456_789_123_345_789 # Bignum0xaabb # 十 6进制 也可以通过在前面加上问号来得到ASCII码对应整数... [阅读全文]

ruby环境:Ruby self在区别环境的含义

而由于ruby作为个完全纯净面向对象语言任何东东都是对象思路方法是对象类也是对象...所以self就会有很多环境区分区别环境self含义才能更好理解含义 、Top Level Context Ruby代码 puts self 打印出,这个代表Object默认对象. 2、在或module定义中: 在和module定义中self代表这个或这module对象: Ruby代码 S puts 'Just... [阅读全文]

如何学习ruby:Ruby 魔法 学习笔记的一

、向对象显示发送消息 我们可以向对象直接发送消息: Ruby代码 er" _disibledevent=复制代码 代码如下: HelloWorld def say(name) pr "Hello, ", name end end hw = HelloWorld. hw.send(:say,"world") 我们通常使用hw.say("world")但send可以对private思路方法起作用 不... [阅读全文]

ruby是什么意思:初步了解一下什么是ruby

关键字 def undef 思路方法定义 module 模块定义 类定义 d? 检查类型 条件语句 ,then,,els,,when,unless 循环语句 for ,in,while,until,next,,do,redo,retry,yield 逻辑判断 not ,and ,or 逻辑或空值 true,false,nil 异常处理 rescue,ensure 对像引用super ,self ... [阅读全文]

rubyonrails:ruby 杂项

本章处理些实际问题. 语句定界符 有些语言需要定类型标点,般会是分号(;)来结束每语句.Ruby却采用了shell里sh和csh方便做法.行中多个语句由分号分开,但在行尾分号却并不需要;个换行被看作个分号.如果行以反斜杠(\)结束,随后换行将忽略;这就允许你单个逻辑行可以跨越数行. 注释 为什么写注释?虽然良好代码可自成文档,但那种自以为别人能看懂并按你方式很快去理解想法是.除此的外,你自己在离开... [阅读全文]

rubyonrails:ruby 异常处理:ensure

当个思路方法结束工作时我们也许需要进行清理工作.也许个打开文件需要关闭,缓冲区数据应清空等等.如果对于每个思路方法这里永远只有个退出点,我们可以心安理得地将我们清理代码放在个地方并知道它会被执行;但个思路方法可能从多个地方返回,或者异常我们清理代码被意外跳过. begin file = open("/tmp/some_file", "w") # ... write to the file ... [阅读全文]

rubyonrails:ruby 异常处理:rescue

个运行着常会遇到意外问题.个要读取文件不存在;当希望存入些数据时磁盘满了;用户可能输入不恰当数据. ruby file = open("some_file") ERR: (eval):1:in `open': No such file or directory - some_file 个健壮会合理并漂亮处理这些问题.面对那些异常是件讨人厌工作.C员被要求做到检查每个可能导致发生系统返回值并立刻... [阅读全文]

实型变量:ruby 实变量

个实变量由@开头,它范围限制在 self 对象内.两个区别对象,即使属于同个类,也可以拥有区别值实变量.从对象外部来看,实变量不能改变甚至观察(比如, Ruby实变量从来不是公用),除非思路方法由员明确声明.像全局变量样,实变量在前值是nil. Ruby实变量用不着声明.这暗含着对象弹性结构.实际上,每个实变量都是在第次出现时动态加入对象. ruby InstTest | def _... [阅读全文]

rubyonrails:ruby 变量

Ruby有 3类变量,种常量和两种严格意义上伪变量(pseudo-variables).变量和常量都没有类型.虽然无类型变量存在定缺点,但却有更多优点并很好符合Ruby快速简便(quick and easy)哲学精神. 在大多数语言里,变量都必须指定其类型,可更改性(是不是个常数)和范围;由于类型不存在,剩下东西也可由变量名字很快确定(你马上会看见),在Ruby里我们不需要变量声明. 由首字母标识... [阅读全文]

ruby存储过程:ruby 过程对象 解析

我们总是希望对未知事件分类.当它发生时,向其它思路方法传递块作为参数代码是最容易地解决思路方法,也就是说我们希望像处理数据样处理代码. 个新过程对象可以通过proc创建: ruby quux = proc { | pr "QUUXQUUXQUUX!!!\n" | } #Proc:0x4017357c 现在quux指向个对象,像其它对象样,它也有可以行为.特别,我们可以... [阅读全文]

rubyonrails:ruby 模块

Ruby模块非常类似类,除了: 模块不可以有实体 模块不可以有子类 模块由module...end定义. 实际上...模块'模块类'是'类类'这个类父类.搞懂了吗?不懂?让我们继续看下去吧. 模块有两种使用方法.其是将相近思路方法和实体放在个相对集中域里.Ruby标准包里Math模块就扮演着这角色: ruby Math.sqrt(2) 1.41421 ruby Math::PI 3... [阅读全文]

rubyonrails:ruby 流程控制 思路方法

这章我们将讨论更多Ruby流程控制. 我们用语句测试有次序条件.正如我们所见,这和C,Javaswitch相当接近,但更强大. ruby i=8 ruby i | when 1, 2..5 | pr "1..5\n" | when 6..10 | pr "6..10\n" | end 6..10 nil 2..5表示2到5的间个范围.下面... [阅读全文]

rubyonrails:ruby 一些简单的例子

现在我们将前面些举例代码坼开来分析下. 下面例子出现在简单例子节. def fact(n) n 0 1 n * fact(n-1) end end pr fact(ARGV[0].to_i), "\n" 是第次解释,我们将逐行分析. def fact(n) 第行,def 用于定义个(或者,更准确地说,个思路... [阅读全文]

rubyonrails:ruby 简单例子

让我们写个计算阶乘.对于阶乘数学定义如下: n! = 1 (当 n0 时) = n * (n-1)! (其它情况) 在Ruby里,可以这样来写: er" _disibledevent=复制代码 代码如下:def fact(n) n 0 1 n * fact(n-1)... [阅读全文]

ruby文档:RUBY文档中心-学习开始

首先,你得检测Ruby是否已经安装了.在shell提示符处(这里表示为"%",所以不要敲入%),敲入 % ruby -v (-v 告诉解释器打印出Ruby版本),然后敲回车.如果安装了Ruby,你会看见类似如下信息: % ruby -v ruby 1.6.6 (2001-12-26) [i586-linux] 如果Ruby未安装,你可以让管理员安装它,或者可以自己做,Ruby是个没有安装或... [阅读全文]

ruby是什么意思:什么是ruby和Ruby概述

Ruby是种功能强大面向对象脚本语言,她可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk、Efel或C这样正式面向对象语言来开发些小项目显得有点"小题大作",而Ruby刚好可以满足这些面向对象编程需求.当然了,您也可以使用Ruby进行普通面向过程编程. Ruby文本处理能力极强,和Perl不分伯仲.同时,Ruby语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了. 简而言的... [阅读全文]

rubyonrails:Ruby入门介绍

、思路方法Ruby 思路方法定义允许为参数设置默认值不过在带有默认值参数后面不能出现不带有默认值参数(允许 * 和 &)也就是说下面思路方法定义是不被允许解释时会出现 parse error 还有点和 C# 区别是思路方法定义不能出现在思路方法后面 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.... [阅读全文]

rubyonrails:让Ruby性能增加30%的改进思路方法分析

我们都知道在编译Ruby时候你需要使用configure --disable-pthread参数没错在configure --disable-pthread 可以让你得到大约 30% 性能提高但是这是为什么呢?  所有这些我们需要使用 strace 工具这个工具可以打出所有真实操作系统  下面是段我们测试例程:def make_thread Thread. {  a =   10_000_000.... [阅读全文]
1 共1条 分1页