ruby语言学习笔记2

ruby学习笔记2  (摘自《ruby程序设计语言教程(中文版)》.pdf,全书25页)

1.同一个问题ruby有多个解决方案,途径

ruby之父:松本行弘(Matz),1993年创立

ruby的偶数发行版为稳定版

圆括号在方法调用中是可选的。即无论函数定义还是调用函数,括号都随意的

vim为ruby配置一个插件才好用:vim_ruby;在vimrc中添加<map> <F7> :!ruby -Ku % <CR>      表示用F7键运行  -Ku表示utf-8  windows下请改为-Ks    当然不加也可以(vim_ruby代码:https://github.com/vim_ruby/vim_ruby)

 

2.类的继承图:

                                        ++++++++++++++++++++++++++++++++++++

                                        +                                                                                     +

                                        +                                    Object                                      +

                                        ++++++++++++++++++++++++++++++++++++

                                       +     +        +                             +             +              +     +

                                 +         +        +                               +               +               +         +

                           +          +            +                                +                 +                +             +

                     +          +                  +                                +                   +                +                    + 

               +            +                      +                                +                     +                 +                         +

+++++++       +++++         +++++++++            ++++++         +++++++      +++++++++      ++++++

+Module+      +Array+        +Numberic+             +Hash+           +Regexp+      +       IO     +        +String+

+++++++       +++++         +++++++++            ++++++          +++++++      ++++++++         ++++++

      +                                          +     +                                                                              +

      +                                        +         +                                                                             +

      +                                    +               +                                                                           +

+++++                    +++++++        +++++                                                              +++++

+Class+                    +Integer+        +Float+                                                              +File+

+++++                    +++++++        +++++                                                                +++

                                   +       +

                                 +            +

                                +               +

                            ++++++       +++++++  

                           +Bignum+    +Fixnum+

                            ++++++         ++++++

ruby可以处理很大的数字,正常情况下2**1000没为题的!

 

3.运算符优先级

::作用域

[]下标

**幂

+-!~ 正号 负号 否定 非

*/%乘除模

+-加减

<< >> logical shifts

&按位与

| ^ 按位或 按位非

> >= < <=比较

=== == 《=》 !=  =~ !~  相等,不相等

&&

||

..   ...  范围

= (+= -= ...)

?:

not

and  or

 

注意:ruby中没有++ 和 --

时间: 2024-10-08 06:17:47

ruby语言学习笔记2的相关文章

Ruby简洁学习笔记(一):字符串、数字、类和对象_ruby专题

为了证明Ruby真的好用,hello world也能写的如此简洁: 复制代码 代码如下: puts 'hello world' 1.输入/输出 复制代码 代码如下: print('Enter your name') name=gets() puts("Hello #{name}") 注:Ruby是区分大小写的 2.String类 puts("Hello #{name}")中的变量 name是内嵌在整个String里的,通过 #{ } 包裹进行内嵌求值,并用双引号&q

Ruby简洁学习笔记(二):类继承、属性、类变量_ruby专题

1.如何声明一个子类 复制代码 代码如下: class Treasure < Thing 这样Thing类中的属性name,description都被Treasure继承 2.以下三种方式传入父类initialize方法的参数分别是什么? 复制代码 代码如下: # This passes a, b, c to the superclass def initialize( a, b, c, d, e, f ) super( a, b, c ) end # This passes a, b, c t

Ruby 正则表达式学习笔记

Ruby 正则表达式的字面构造器: // 试一下: >> //.class => Regexp 模式匹配有两个部分组成,一个正则表达式(regexp),还有一个字符串.正则表达式预测字符串,字符串要么满足预测,要么不满足. 看看是不是匹配可以使用 match 方法.做个实验: >> puts "匹配!" if /abc/.match("the alphabet starts with abc.") 匹配! => nil >&

C语言学习笔记之成员数组和指针

单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如下.我觉得好多人对这段代码的理解还不够深入,所以写下了这篇文章. 为了方便你把代码copy过去编译和调试,我把代码列在下面:  代码如下 复制代码 #include <stdio.h> struct str{     int len;     char s[0]; };   struct foo

Ruby 魔法 学习笔记之一_ruby专题

一.向对象显示的发送消息 我们可以向对象直接发送消息: Ruby代码 复制代码 代码如下: class HelloWorld def say(name) print "Hello, ", name end end hw = HelloWorld.new hw.send(:say,"world") 我们通常使用hw.say("world"),但send可以对private的方法起作用. 不光如此send可以使程序更加动态,下面我们看看一个例子: 我

C语言学习笔记整理

一.sizeof() 1.sizeof的使用:sizeof操作符以字节形式给出了其操作数的存储大小. sizeof操作符不能用于函数类型,不完全类型或位字段.不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型.未知内容的结构或联合类型.void类型等. 2.sizeof的结果:sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字节大小. int.unsigned int .short int.

C语言学习笔记磁盘介绍

数据的存储 计算机中数据的存储可以通过有三种,他们方式分别是: 寄存器 内存 磁盘 他们的特点用一个表格来表示便一目了然 介质 特点 寄存器 CPU 内部的存储器,读写速度最快,容量最少,成本最高 内存 读写速度一般快,容量一般多(以 MB 或 GB 为单位),成本一般高 磁盘 读写速度最慢,容量最大(企业级磁盘以 GB 或 TB 为单位),成本最低 ,我简单讲了下内存的一些知识,但是我没有说计算机为什么要使用内存这种东东,这之后我查阅了一下资料,也做了一些功课,这里就结合我自己的理解简单讲一下

ruby学习笔记(11)--symbol与hash参数

symbol是啥就不深入的讨论了,只简单说说symbol的好处 ruby内部对于每个对象,都会有一个数字id用来标识并区分,可以用xxx.object_id来查看 puts "0001".object_id puts "0001".object_id puts "0001".object_id puts "0001".object_id 输出结果类似如下: 32088750320887303208871032088690 可以

【学习】 R语言与机器学习学习笔记(1)K-近邻算法

前言 最近在学习数据挖掘,对数据挖掘中的算法比较感兴趣,打算整理分享一下学习情况,顺便利用R来实现一下数据挖掘算法. 数据挖掘里我打算整理的内容有:分类,聚类分析,关联分析,异常检测四大部分.其中分类算法主要介绍:K-近邻算法,决策树算法,朴素贝叶斯算法,支持向量机,神经网络,logistic回归. 写这份学习笔记主要以学校data mining课程的课件为主,会参考一堆的baidu,一堆的google,一堆的blog,一堆的book以及一堆乱七八糟的资料,由于精力有限,恕不能一一列出,如果有认