文章会有【原创】或者【转载】标示,部分来自Google Baidu的学习结果 {Java/PHP/Python/Ruby/Go}

Ruby 的基本知识总结四  


1. 使用’..’和’…’能生成范围对象,并且可以对范围内的元素进行操作。
2. 两个点生成的范围对象包括终点,三个点生成的范围对象不包括终点。
3. 1..100000就是一个范围对象的例子。
4. .to_a方法能把范围对象转换成数组。
5. 范围对象使用最多的就是判断某个值是否在某个范围内,使用’===’操作符。
6. 范围的元素并不局限于数值,也可以是ruby对象。
7. IMPORTANT:Block是括在大括号或者do-end中间的一组程序语句,和方法关联。
8. Block的定义跟在方法名后面,如果方法带参数,那么Block的位置还要后移,要跟在最后一个参数后面。Block包含了一组程序语句,在定义时这些语句并不会执行,只有在方法中才能触发这些语句的执行。
9. 当Block中包含单行语句时,使用大括号;如果包含多行语句,就要使用do-end。大括号的优先级比do-end要高。
10. 在和Block关联的方法内,调用yield关键字会触发Block的执行,并且调用几次就会触发几次。
11. yield可以传参数给Block,Block会接受这些参数并进行处理。接受的方式是使用"||"。
12. Block不是对象,但是可以通过ruby内核的内置方法lambda把它转化成一个proc对象。
13. 记住,不能把方法作为参数传给另一个方法,也不能把方法作为返回值。但是可以把Proc作为一个参数传给方法,或者从方法返回一个Proc类型的对象。
14. Ruby中可以使用rand方法获得随机数。
15. 默认情况下,rand方法得到一个大于或等于0.0,小于1.0的浮点数。如果给rand带一个整数的参数,比如rand(5),就会得到一个大于或等于0小于5的随机整数。
16. File.open方法的几种读写模式:1.'r', read-only,只读模式,从文件头开始; 2.'r+',read/write,读写模式,从文件头开始; 3.'w',write-only,只写模式,覆盖原来文件或创建一个新文件。
17. File.open后面跟的Block是对文件的操作,Block是可选的。如果不跟Block,File.open会打开一个新文件。如果跟了Block,文件会被作为参数传给Block进行处理,并且Block结束后,文件会被自动关闭。
18. 注意:文件操作结束后,要Close文件,以防文件读写错误。
19. seek也是IO类的方法,它会按着第二个参数的方法,从第一个参数给定的位置开始查找。 IO::SEEK_CUR - 从当前位置加上第一个参数的位置开始(第一个参数是相对位置)。 IO::SEEK_END - 从文件尾开始反向读取,位置是第一个参数的绝对值。IO::SEEK_SET - 从第一个参数给定的位置开始(绝对位置)。