`
simohayha
  • 浏览: 1407527 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论
文章列表
在看The.Art.and.Science.of.JavaScript 的时候,看到了这个问题,就是在javascript中如何判断一个方法是new调用还是一般调用,在书中给出的代码是 function Element(){ if(this==window || 'Element' in this){ console.log("normal"); }else{ console.log("new"); } } 可是这个代码不能解决两个问题: 1比如加上下面的代码: Element.prototype.El ...
首先,在ruby1.8中类变量是所有子类和父类共享的,可以看下面的代码: class IntelligentLife @@home_planet = nil def self.home_planet @@home_planet end def self.home_planet=(x) @@home_planet = x end #... end class Terran < IntelligentLife @@home_planet = "Earth" end class Marti ...
今天装Revactor库的时候,真把我郁闷了,没想到ubuntu源里面的ruby1.9装了之后,根本不能用gem来安装Revactor.最后google到了一篇文章,原来是要自己编译ruby1.9,然后才能正常使用gem. 源里面安装的ruby1.9,什么都没有,gem,rake什么的都没有,所以我们要自己编译,安装. 原文在这里: http://blog.michaelgreenly.com/2007/12/multiple-ruby-version-on-ubuntu.html 假设你已经通过apt-get安装了ruby1.8,下来我们要安装ruby1.9 sudo apt-ge ...
今天八戒同学发了个测试性格的,俺就试了下。。 http://space.goiee.com/batch.viewlink.php?itemid=55534 我的测试结果是: 引用五号特性:思想家 基本恐惧:无助,无能,无知 基本欲望:能干,知识丰富 对自己要求:当我成为某一方面的专家时,我就 okay 了。 特质:热忠于寻求知识,喜欢分析事物及探讨抽象的观念,从而建立理论架构。 顺境〔能干时〕:理想主义者,对这世界深刻的见解,专注于工作,敢于革新,及产生有价值的新观念。 逆境〔无能时〕愤世嫉俗,对人采取敌对及排斥的态度,自我孤立,夸大妄想,只想不做。 处理感情 ...

近期的打算

近期主要的打算就是找工作,这次准备找一个真正适合自己的公司,好好干几年,不能再这么晃晃悠悠下去了。
,自己本来想等啥时候有时间做个类似的东西呢,没想到已经有人做了,哈哈... 啥也不说了,准备最近研究研究这个代码... 地址在这里: http://bus-scheme.rubyforge.org/ PS:这个竟然用的是git,哈哈,看来是被linus大叔给鼓动了..
既然贰李子点了我的名,而且还下那么毒的诅咒,那我就不能不答了。 1.2007年最难过的事情是什么 没有难过过,只有不爽过. 2.2008年最大的心愿是什么 能够去做底层开发. 3.你会毫无保留的相信你的朋友么?为什么? 我最相信的只有自己. 4.要是失眠,你会做什么? 闭着眼睛,胡思乱想. 5.哪种类型的异性让你最反感?你喜欢暧昧的感觉么? 讨厌话太多的女人。我不喜欢暧昧的感觉. 6.给我讲讲上一次情人节怎么过的啊? 20几年的情人节,都是一个人度过,所以感觉和其他的日子差不多.忘了. 7.你选择另一半的首要条件是什么? 忍耐我的缺点. 8.你最想为最心爱 ...
1 rss 标准库 RSS 是基于xml的,因此你能简单的将它作为一个xml来进行解析.可是,事实上他有一个更高级别的专有的解析器来解析他.此外RSS的标准也很混乱。 他有很多不便,就是标准的版本的不兼容,RSS有0.9, 1.0, 和2.0的版本.RSS的版本,就像制造热狗,就是一些除非你一定要知道,否则你不想要知道的细节. ruby有一个标准RSS库,它包含0.9,1.0和2.0版本标准.不同的版本之间尽可能做到了无缝处理.如果你没有指定版本,这个库他会自己尽可能地检测版本. 看下面的例子,这里我们是从http://marsdrive.com 得到feed: require 'rs ...
REXML 是一个完全用ruby写的processor ,他有多种api,其中两个经典的api是通过DOM-like 和SAX-like 来进行区分的。第一种是将整个文件读进内存,然后存储为一个分层的形式(也就是一棵树了).而第二种是"parse as you go",当你的文件很大,并且内存受到限制的时候,比较适合用这种。 看下面的book.xml: 引用<library shelf="Recent Acquisitions">     <section name="Ruby">         <b ...
这些只是自己最近看web开发敏捷之道的时候(由于书中的版本是1.2,而我自己的是2.0),遇到的一些问题. 1 原来的render_{something}都被替换成了render :something 2 controller中的几个实例方法比如@params,@session,@flash,@request和@env都被相应的params,session,flash,request和env所替代. 3find_all和find_first被相应的find(:all)和find(:first)所取代. 4 paginate插件被移除掉了,推荐使用will_paginate,这个分页的使 ...
1 得到所定义的实体的列表 ruby的反射api能够使我们在运行时检测类和对象。因此我们下面将会介绍Module, Class, 和Object中的定义的一些方法。 Module模块有一个constants 的方法,它将会返回系统中所有的常量名,包括类名和模块名。nesting 方法则是返回当前调用点上的嵌套的模块的列表. list = Math.constants # ["E", "PI"] Module#ancestors 返回指定的类或者模块的所有包含的类或者模块. list = Array.ancestors # [Array ...
1 动态的evaluate代码 全局的方法eval 编译并且执行一段包含ruby代码片断的字符串,这是一个很power的机制,因为它允许你建造在运行时 执行的代码。看下面的例子: parameters = {} ARGF.each do |line| name, expr = line.split(/\s*=\s*/, 2) parameters[name] = eval expr end 假设输出是这样的: 引用a = 1 b = 2 + 3 c = `date` 然后你的parameters 应该是这样的{"a"=>1, " ...
1 把代码像对象一样存储 当你想要以对象的形式存储一块代码的时候,ruby给了你几种方法。下面我们会介绍Proc 对象, Method 对象和 UnboundMethod 对象. 内置的Proc 类包装ruby block到一个对象.Proc对象,像一个blocks,是一个闭包而且保存了它定义时的上下文: myproc = Proc.new { |a| puts "Param is #{a}" } myproc.call(99) # Param is 99 当一个方法接受一个&的参数,然后这个方法紧跟着一个block被调用的时候,Proc ...
1 发送一条消息给一个对象 当你调用一个方法时,你也就是发送了一条消息给一个对象,在ruby中我们能够在运行时决定那个方法被调用。send 方法就是做这个的,他接受一个symbol为参数. 举个简单的例子,假设我们要写一个排序,我们想要使用不同的域作为比较的key。虽然我们这时可以用block,可是如果使用send的话,我们能有一个更优美的写法: class Person attr_reader :name, :age, :height def initialize(name, age, height) @name, @age, @height = name, a ...
1 理解allocate 在一些特殊的环境中,你可能需要不调用它的构造器(也就是initialize)来创建一个对象。也就是说你想要创建一个空的对象.例如,假设你有一个对象,它的状态完全的由它的存取方法所确定,因此如果你不是真的想要一个另外的状态的话,调用new方法是没必要的.此时我们能allocate方法. class Person attr_accessor :name, :age, :phone def initialize(n,a,p) @name, @age, @phone = n, a, p end def test p " ...
Global site tag (gtag.js) - Google Analytics