ruby语法小记-2_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > ruby语法小记-2

ruby语法小记-2

 2011/9/11 11:22:02  davidyao  http://davidyao.iteye.com  我要评论(0)
  • 摘要:四、Hash1、类似json2、定义方式map={:one=>1,:two=>2}key可以写成"one",但是不如:one这种symbol方式高效。因为比较两个符号的相等性比字符串高效很多。3.k/v表的最后允许",",如mmap={:one=>1,:two=>2,}4.java中所有类都有的hashCode,在ruby中对应为object_id5.判断是否包含,include五、区间range1
  • 标签:Ruby
四、Hash
1、类似json
2、定义方式
  
map = {:one=> 1, :two=>2}

   key可以写成"one",但是不如:one这种symbol方式高效。因为比较两个符号的相等性比字符串
   高效很多。
3.k/v表的最后允许",",如m
map = {:one=> 1, :two=>2,}

4.java中所有类都有的hashCode,在ruby中对应为object_id
5.判断是否包含,include


五、区间range
1、定义方式
   a = 1..5
2.include方法类似contains,member方法同。ruby1.9开始提供另一个选择cover
   如range.include?testValue
   1..5.include?2 #return true


六、符号Symbol
1.定义方式:通过在标识符或者字符串前面加上冒号的方式
  a = :b
  可以通过intern或者to_sym方法将String转化为一个Symbol,可以使用to_s方法或者其别名id2name将Symbol转换为String
2.size,length,[],~=比较符


七、对象

1、获得当前类的id,类似java中hashcode。clazz.object_id,或者clazz.__id__

2、获得某实例属于哪个类,clazz.class    superclass

3、比较类  clazz.class = String or clazz.instance_of? String

    判断是否为某类或者子类,用is_a或者kind_of,

   Class类有===,等同于is_a

4、对象比较的方法中eq和==,与java这种刚好相反

5、条件相等型caozuofu.html" target="_blank">操作符(===)

    大多数情况下,与==同义;某些关键类重写了===,如Range,Regexp,Class,Symbol

6、对象的顺序比较

7、类型的转换,与Java类似

    try_convert用来判断是否可以进行隐式转换

8、类的复制 clone,dup,两者存在差异

9、冻结对象,对象以及状态属性等将不可改变,a.freeze  a.frozen?

10、为防止sql注入,标记污染对象,a.taint,  a.tainted?


上一篇: ruby九九乘法表 下一篇: rails time format
发表评论
用户名: 匿名