笔记之Ruby(一)
来源:互联网 发布:vesa图形编程系统 pdf 编辑:程序博客网 时间:2024/05/21 19:38
听说很多的建议,都说写博客很有好处,想了很久,终于是硬着头皮先发个文章试试水;
手上没有什么可以发的博文,就整理了下以前看的一些书的笔记;(只有这个了╮(╯_╰)╭ )
这接下来的是《Seven Language in Seven Weeks》的关于Ruby的笔记整理出来::
Ruby的简史:
送本行弘(Yukihiro Matsumoto)大约在1993年发明了Ruby,大家多称他为Matz。从语言的角度看,Ruby出身于所谓的脚本语言家族,是一种解释型、面向对象、动态类型的语言。解释型,意味着Ruby代码由解释器而非编译器执行。动态类型,意味着类型在运行时而非编译时绑定。从这两个方面,Ruby采取的策略是在灵活性和运行时安全之间寻找平衡点。面向对象,意味着Ruby支持封装(把数据和行为一起打包)、类继承(用一颗类树来组织对象类型)、多台等性质; 随着。。Rails框架崭露头角,在2006年前后一鸣惊人。Ruby的编程模型:
Ruby是一门纯面对对象语言。在Ruby中,一切皆为对象,就连每个单独的数字也不例外。
判断:
Ruby的这种设计,把条件语句变得简单明了了。当你使用if或unless时,既可选用快形式(if condition,statements,end)。
也可以选择用单行形式(statements if condition);
我觉得这样写代码看着比较精炼,读起来轻松多了;(我挺喜欢这种的风格╰( ̄▽ ̄)╮)
在Ruby语言中,除了nil和false之外,其他的都是表示true。连0也是true!!!(⊙o⊙)
鸭子类型:
首先先说下,Ruby是强类型语言,这意味着发生类型冲突时,你将得到一个错误。另外,Ruby是在运行时而非编译时进行类型检查的。(一般情况下,Ruby在大部分时间里都表现得想一门强类型语言)
(这个什么鸭子类型(duck typing)没怎么搞懂,不过从这个截图的实例看,第一个元素string第二个是float,这个是都把他们转成整数的代码,却都是to_i,这个看着视乎有点不对的样子,难道就是所谓的鸭子吗?似乎。。唉:-( 。~就这样了,说不清楚啦~~~~~)
定义函数;:
Ruby和Java、c#不同,就是在于你不必为了定义函数把整个类都构建出来,且每一个函数都会返回结果。如果没有显示指定某个返回值,函数会将返回退出函数前最后处理的表达式的值。函数在这里也是一个对象。
数组是Ruby有序集合中的主力部队。Ruby的集合提供了一定的灵活性。如果访问任何未定义的数组元素,Ruby会直接返回nil。而且,数组的下标【-1】是返回倒数第一元素,【-2】是倒数第二元素,以此类推的。很方便的一种语法特性;。数组拥有极其丰富的API,可将其作为队列、栈、链表、集合、等等。主要的一个集合是——散列表::
散列特点就是下标不一定要是数字,内容的类型也没有要求;这看上面这个截图就可以清楚了;
代码块和yield:
代码块就是,没有名字的函数;这个很好用的;
大括号之间的代码就称作代码块。可以采用{/}或do/end两种界定代码块的形式,Ruby的一般惯例是:代码块只占一行是用大括号,代码块占多行是用do/end。
而,yield是用来代用代码块的东东。
初次发文章,其实压根不知道博客要写些什么东东(自己是初学者根本就没有啥技术文章)-_-!;
对于Ruby的所谓鸭子类型一直都弄不明白,求教大神?.?!!!!
0 0
- 笔记之Ruby(一)
- Ruby 学习笔记一(Ruby 安装)
- ruby学习笔记之数组学习(一)
- ruby学习笔记之数组学习(一)
- Ruby学习笔记(一)
- Ruby 学习笔记(一)
- Ruby学习笔记(一)
- Ruby学习笔记一之概要
- 笔记之Ruby(二)
- ruby语言学习笔记(一)
- ruby on rails学习笔记(一)
- ruby学习笔记一
- ruby 学习笔记(一)
- ruby学习笔记一
- Ruby元编程笔记一
- Ruby学习笔记:一、数据类型
- Programming Ruby学习笔记一
- Ruby元编程笔记<一>
- STL 之for_each,transform
- C# WinForm多线程开发(一) Thread类库
- Struts2提交表单中文乱码问题解决
- Uva11324 The Largest Clique tarjan+dp
- 代码面试最常用的10大算法
- 笔记之Ruby(一)
- 指针指向空字符串和指针赋值为NULL的区别
- 关于view重绘的一些认识
- CodeForces 20B Equation (简单题)
- hdu 1258 搜索 2^12可能,不会TLE
- 在线支付过程总结
- 系列三VisualSvn Server
- alibaba FastJson 解析
- hdu题目分类