lzp19921225 发表于 2015-7-3 17:28:04

Ruby新手入门

本帖尽量少说废话多举例,让你在操作中去体会ruby这门脚本语言。

lzp19921225 发表于 2015-7-4 09:35:21

Ruby 位运算符
运算符描述实例
&如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。(a & b) 将得到 12,即为 0000 1100
|如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。(a | b) 将得到 61,即为 0011 1101
^如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。(a ^ b) 将得到 49,即为 0011 0001
~二进制补码运算符是一元运算符,具有"翻转"位效果。(~a ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数。a << 2 将得到 240,即为 1111 0000
>>二进制右移运算符。左操作数的值向右移动右操作数指定的位数。a >> 2 将得到 15,即为 0000 1111



lzp19921225 发表于 2015-7-3 20:05:09

Ruby 算术运算符假设变量 a 的值为 10,变量 b 的值为 20,那么:
运算符描述实例

+加法 - 把运算符两边的操作数相加a + b 将得到 30
-减法 - 把左操作数减去右操作数a - b 将得到 -10
*乘法 - 把运算符两边的操作数相乘a * b 将得到 200
/除法 - 把左操作数除以右操作数b / a 将得到 2
%求模 - 把左操作数除以右操作数,返回余数b % a 将得到 0
**指数 - 执行指数计算a**b 将得到 10 的 20 次方



lzp19921225 发表于 2015-7-3 20:06:01

Ruby 比较运算符假设变量 a 的值为 10,变量 b 的值为 20,那么:
运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。(a == b) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。(a != b) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。(a > b) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。(a < b) 为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。(a >= b) 不为真。
<=检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。(a <= b) 为真。
<=>联合比较运算符。如果第一个操作数等于第二个操作数则返回 0,如果第一个操作数大于第二个操作数则返回 1,如果第一个操作数小于第二个操作数则返回 -1。(a <=> b) 返回 -1。
===用于测试 case 语句的 when 子句内的相等。(1...10) === 5 返回 true。
.eql?如果接收器和参数具有相同的类型和相等的值,则返回 true。1 == 1.0 返回 true,但是 1.eql?(1.0) 返回 false。
equal?如果接收器和参数具有相同的对象 id,则返回 true。如果 aObj 是 bObj 的副本,那么 aObj == bObj 返回 true,a.equal?bObj 返回 false,但是 a.equal?aObj 返回 true。



lzp19921225 发表于 2015-7-3 20:06:24

Ruby 赋值运算符假设变量 a 的值为 10,变量 b 的值为 20,那么:
运算符描述实例
=简单的赋值运算符,把右操作数的值赋给左操作数c = a + b 将把 a + b 的值赋给 c
+=加且赋值运算符,把右操作数加上左操作数的结果赋值给左操作数c += a 相当于 c = c + a
-=减且赋值运算符,把左操作数减去右操作数的结果赋值给左操作数c -= a 相当于 c = c - a
*=乘且赋值运算符,把右操作数乘以左操作数的结果赋值给左操作数c *= a 相当于 c = c * a
/=除且赋值运算符,把左操作数除以右操作数的结果赋值给左操作数c /= a 相当于 c = c / a
%=求模且赋值运算符,求两个操作数的模赋值给左操作数c %= a 相当于 c = c % a
**=指数且赋值运算符,执行指数计算,并赋值给左操作数c **= a 相当于 c = c ** a



lzp19921225 发表于 2015-7-3 20:09:13

本帖最后由 lzp19921225 于 2015-7-4 09:31 编辑

Ruby并行赋值Ruby也支持变量的并行赋值。这使得多个变量可以通过一行的 Ruby 代码进行初始化。例如:
a= 10b= 20c= 30
使用并行赋值可以更快地声明:
a,b, c = 10, 20, 30
并行赋值在交换两个变量的值时也很有用:
a,b = b, c

烈酒入喉 发表于 2016-2-29 13:17:13

看后感悟了点,收下了











static/image/common/sigline.gif
笑笑们了能落茸狠够为钉沈的他都
马也乎的野多大心在亭他娱不
话句冒出同地了约而这
这自在界要但的精需世脱超神
雄拔用与隘英高狭是
己起哥对睿辩不就碎语叫话自
罗马的
蝇的己只是自许也你些了为
起漂然茫无浮
阔它像壮我不
声技隅慷斯巴驶的术
笔用然后的孩子前
警越迹道事事知察的
策消除性政中续
起是鹭滩无措的鸥惊她
远庄古的
话凭可时各我说睫早也无
经的我获的贵验珍才他得会
纰关该应漏有是种种直两接
鸣蝉的到所常不听

lzp19921225 发表于 2016-10-9 16:47:29

本帖最后由 lzp19921225 于 2016-10-10 16:54 编辑

ruby是面向对象的语言,接下来介绍一些ruby的一些常用知识,也可以算是个人笔记,帮助那些刚接触ruby的人快速熟悉这门语言,起到一个抛砖的作用.

lzp19921225 发表于 2016-10-10 17:43:49

本帖最后由 lzp19921225 于 2016-10-11 10:08 编辑

在阅读ruby的文档或者书籍中,有几下规定
类名.方法名(代表这个方法是类方法,也就是Java中的静态方法)
类名#方法名(代表这个方法是实例方法,是需要通过实例对象进行调用)
类型::常量名(代表这是一个类常量)

下面让我们试着自定义一个类吧.
class MyClass
      
      #自定义常量
      Version="1.0"

      def initialize msg
                @msg=msg
      end

      #实例方法
      def say
                puts "自定义类并实例,输出初始化信息:#{@msg}"
      end

      #类方法(静态方法)
      def self.version
                puts "自定义类的版本为:#{Version}"
      end

end

MyClass.version #调用类方法

mClass=MyClass.new("hello Ruby!") #生成实例
mClass.say #调用实例方法

puts MyClass::Version #打印类的常量

1.在ruby中,关键字def用来定义方法,而方法的参数并不强制要求必须用小括号"()"包裹,
因此例子中为方法 initialize 设置一个 msg 的参数,这样的写法是"合法"的.
2.MyClass#initialize这个方法为初始化方法(构造方法),在你使用MyClass.new方法
生成实例对象的时候由底层进行调用.
3.类的常量可以通过一目运算符"::"用事例中的形式直接取出.
4.常量的定义方式为首字母大写.实例变量的定义方式为 @+变量名
5.ruby中拼串拥有自己的一套特殊方式,比如在JS中拼串 "hello,"+"ruby" 等同于在ruby中拼串 "hello,#{\"ruby\"}"


lzp19921225 发表于 2016-10-17 00:20:17

接下来介绍ruby类的成员变量和属性

首先定义一个类
class Test

        def initialize
                @name = "Ruby"
                @age = 18
        end

end

这样,我们的Test类就拥有了两个成员变量了,一个是@name,一个是@age,
接下来添加方法,

class Test

        def initialize
                @name = "Ruby"
                @age = 18
        end

        def name
                return @name
        end

        def name= name
                @name = name
        end

        def age
                return @age
        end

        def age= age
                @age = age
        end

end

这样,我们就给类添加了两个成员变量和两个属性了.成员变量是对内使用,属性是对外使用.
页: [1] 2
查看完整版本: Ruby新手入门