笔记之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
原创粉丝点击