`
idisc
  • 浏览: 36103 次
  • 性别: Icon_minigender_1
  • 来自: 秦皇岛
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
博客地址是http://www.jifuyi.com
一般情况下,认为两者的表现是相同的,那是对于没有对象进行tainted和frozen操作,clone顾名思义就是全盘拷贝,两者dna是一样的,但是dup则只对tainted状态进行拷贝,以前是frozen的现在都变成了un...了,而且dup不对对象的单例方法进行拷贝

ruby中的对象

    博客分类:
  • ruby
ruby内建的类,比如String,Array,Hash,Numeric,Range,Symbol,TrueClass,FalseClass,NilClass都有其自己的字面写法,而且他类的实例就需要显示的创建,通常用new
=begin, =end, __END__是ruby解析器所有的,而不是关键词。__END__标志这此ruby文件的结束,呵呵,所以之后可以写任何文本文件作为数据了。
ruby的嵌入式注释是以=begin开始=end结束,且都顶行写,也就是=必须是一行的第一个字母。在这两个标志符之间的是注释,要求 =begin后和=end前至少有一个空格
        1、不要使用过小的图片做背景平铺。这就是为何很多人都不用 1px 的原因,这才知晓。宽高 1px 的图片平铺出一个宽高 200px 的区域,需要 200*200=40, 000 次,占用资源。   2、无边框。推荐的写法是 border:none;,哈哈, ...
提示:如有转载请注明作者 小游戏 及出处   当我们进行进行activerecord操作时, :conditions使我们最为常用的组合条件表达式的地方,有几种方式可以把外部参数传入其中 1.用#{para}的方式传递参数,但是这种方式最不安全,容易被sql注入攻击 2.conditions值为一数组,数组的第一个元素为模板字符串,用?当占位符,其他元素为实际值,代替前面的占位符,如conditions=>['a=? and b=?', 10, 20] 3.conditions值为一数组,数组的第一个元素为模板字符串,用命名的占位符,占位符的表示方式以:为开始,也就是ruby中的符号类型 ...
提示:如有转载请注明作者 小游戏 及出处   ruby很灵活,就因为这个灵活有时让我们摸不着头脑它到底为什么这样,ruby的赋值就有许多要注意的地方 1. 数组元素的赋值,其实数组赋值中的[]也是函数,把它当函数对待即可, 如果有两个参数,那么他的形式就是    arr[x] = y 等价于 arr.[](x, y), 如果三个参数的话那么其形式就是arr[x,y] = z 等价于 arr.[](x, y, z), 其他的类推 2. 并行赋值时, 如果有多个右值赋给一个左值时,那么这些右值就作为一个数组一起赋给左值    a = 1, 2, 3 等价于 a = [1, 2, 3],要防止这样可 ...
提示:如有转载请注明作者 小游戏 及出处   ruby的局部变量有时让人感到脑袋很发懵,让人很容易混淆概念,先给他好好标明一下 1. ruby局部变量前没有前缀标识符,这就意味着对于局部变量的调用像函数调用 2. 假如对一个局部变量有赋值,那么就知道这是个变量而不是函数,之后对这个变量的调用就能读取这个值 3. 如果没有赋值就调用,那么就把他当成函数调用,如果没有这个函数定义则抛出NameError异常
提示:如有转载请注明作者 小游戏 及出处   ruby程序的执行是顺序执行的,他是从脚本的第一行执行到最后一行,但是实际执行顺序是 1. 先搜索BEGIN语句,搜到则执行,否则执行程序的第一行 2. 碰到函数定义,类定义,模块定义则执行,导致这些东西被定义 3. 碰到导致程序退出的语句,或者到了文件结尾或者遇到__END__则退出执行 4. 在退出执行前,典型的执行END语句块或者由at_exit注册的退出钩子语句。但是如果由exit!导致的退出,前面的两种情况不执行
提示:如有转载请注明作者 小游戏 及出处   在ruby 1.9中, 语句的终断规则有些变化, animals = Array.new .push("dog") # Does not work in Ruby 1.8 .push("cow") .push("cat") .sort 当一个新行是以.为开始的,那么他就认为这行是上一行的继续,所以就可以以上面例子所示进行代码编排,对于长的函数调用比较有益
提示:如有转载请注明作者 小游戏 及出处   #define time_after(a,b) ((long)(b) - (long)(a) < 0) #define time_before(a,b) time_after(b,a) #define time_after_eq(a,b) ((long)(a) - (long)(b) >= 0) #define time_before_eq(a,b) time_after_eq(b,a) void delaytime(unsigned long nTime) { unsigned long nEndTime = ::Get ...
提示:如有转载请注明作者 小游戏 及出处   原文:A Million-user Comet Application with Mochiweb, Part 3 参考资料:Comet--基于 HTTP 长连接、无须在浏览器端安装插件的“服务器推”技术为“Comet”                MochiWeb--建立轻量级HTTP服务器的Erlang库       // TODO - gracefully handle failure / reconnect / etc     pthread_exit( 0 ) ; }   int main( int arg ...
提示:如有转载请注明作者 小游戏 及出处   原文:A Million-user Comet Application with Mochiweb, Part 3 参考资料:Comet--基于 HTTP 长连接、无须在浏览器端安装插件的“服务器推”技术为“Comet”                MochiWeb--建立轻量级HTTP服务器的Erlang库   floodtest2.erl -module ( floodtest2) . -compile( export_all) . -define( SERVERADDR , "10.1.2.3" ) . ...
提示:如有转载请注明作者 小游戏 及出处   随着netbeans 6.5的发布,我们有了一个更好组合的软件开发平台,但是进入界面后,一个丑陋的画面就在你面前了,怎么改才能让它更漂亮呢?搜寻了一下相关方面的帖子,通过自己的试验总结如下: 1. 安装新的java sdk 后我们需要更改其字体配置,在java的安装目录中找到jdk里的jre里的lib目录(还有jre的lib目录),把fontconfig.properties.src改为fontconfig.properties,这后把其中的sequence.monospaced.GBK=chinese-ms936,alphabetic,dingb ...
Global site tag (gtag.js) - Google Analytics