在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
安装: 一般来说linux会自动装ruby,可以通过: 直接使用ruby命令的话,是用来执行ruby文件的。如果要打开交互式ruby解释器。只需要在控制台输入:irb 即可。
语法特点: Ruby的设计初衷就是以最面向人的语法习惯来的。所以Ruby代码的规范看起来比其他任何语言都宽松。具体表现如下: 1. 语句的结尾不需要使用分号结束 2. 没有任何特殊的缩进要求 3. 对于只带一个参数的函数,函数的括号可以省略 4. 一切皆对象。每种对象都有丰富的方法,且可以直接给内置的对象增加方法。 也正是由于第2点,父层与子层之间没有缩进要求,所以不同于python的是:ruby的语法块之间需要使用end关键字来表示结束。
简单的使用: 计算: 可以使用 1 + 1 、2+2之类的来计算,需要注意的是,如果直接使用 10/3 得到的将是3, 要想得到 3.3333 需要使用 10.0 /3 或者 10/3.0 循环: 最简单的循环实现代码如下: 1 10.times do print " hello" end #表示循环10次打印 " hello" 2 # 这里使用了 Fixnum对象的times方法
定义类: 1 class Person 2 attr_accessor :name, :age, :gender # 定义属性 3 end 定义完类之后,就可以进行实例化了: 1 class NewPerson < Person 2 attr_accessor :health 3 end 此时该新的类拥有前面的类的所有属性并且多了一个叫health的属性 1 class Person 2 def greeting 3 puts "Hello " + self.name 4 end 5 end PS:在ruby中这不会覆盖原来person的定义,相反只是在原来person的定义之上增加了一个方法,这样Person类和其子类都可以调用该方法。当然如果子类对新增的方法进行复写,那么就形成了多态。
一切皆是对象: 1 puts 1.class #Fixnum 2 puts "a".class # String
Kernel模块的方法:
向方法中传入参数:
使用字符串的常见方法: 1 "test" + "test" # testtest 2 "test".capitalize # Test 3 "Test".downcase # test 4 "Test".chop # Tes (去掉最后一个字符) 5 "Test".hash # -98625764 6 "Test".next # Tesu 7 "Test".reverse # tseT 8 "Test".sum # 416 9 "Test".swapcase # tEST 10 "Test".upcase # TEST 所有方法都返回一个新的String对象,所以支持链式调用。
以非面向对象的方式使用Ruby: 1 def myPrint(value) 2 print "This is myPrint:" + value 3 end 4 5 # 可以通过下面的方式进行调用: 6 myPrint("Haha") 7 Kernel.myPrint("Haha") 通过Kernel.methods 可以得到 Kernel的所有方法,里面可以看到有 :myPrint 的签名。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论