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

所属分类: 脚本专栏 / ruby专题 阅读数: 1394
收藏 0 赞 0 分享

为了证明Ruby真的好用,hello world也能写的如此简洁:

复制代码 代码如下:

puts 'hello world'

1.输入/输出

复制代码 代码如下:

print('Enter your name')
name=gets()
puts("Hello #{name}")

注:Ruby是区分大小写的

2.String类

  puts("Hello #{name}")中的变量 name是内嵌在整个String里的,通过 #{ } 包裹进行内嵌求值,并用双引号""包裹(如果只是单引号''只会返回字面值)。不仅是变量,你甚至可以嵌入"\t""\n"和算数表达式。

复制代码 代码如下:

puts "Hello #{showname}"
puts( "\n\t#{(1+2) * 3}\nGoodbye" )

3.if……then 语句

复制代码 代码如下:

taxrate = 0.175
print "Enter price (ex tax): "
s = gets
subtotal = s.to_f
if (subtotal < 0.0) then
    subtotal = 0.0
end
tax = subtotal * taxrate
puts "Tax on $#{subtotal} is $#{tax}, so grand total is $#{subtotal+tax}"

1.每个if须有end与之对应,而then可选,除非它与if在同一行。
2.to_f()方法对值为浮点数的String返回浮点数本身,对于不能转化者返回 0.0

4.val、$val、@val的区别

val是局部变量,$val是全局变量,@val是实例变量

实例变量就相当于成员变量

5.如何定义一个class

看两段代码

复制代码 代码如下:

class Dog  
    def set_name( aName )
        @myname = aName
    end
  
    def get_name
         return @myname
    end
   
    def talk
        return 'woof!'
    end
end

复制代码 代码如下:

class Treasure
      def initialize( aName, aDescription )
        @name         = aName
        @description  = aDescription
      end
     
      def to_s # override default to_s method
           "The #{@name} Treasure is #{@description}\n"
      end
end

1.成员变量需用@标示
2.无参方法可以不加()
3.每个类要用end结束
4.默认有无参构造器initialize(),也可以重写带参数的initialize()

更多精彩内容其他人还在看

解析 ruby 全局变量

解析 ruby 全局变量
收藏 0 赞 0 分享

ruby 实变量

ruby 实变量
收藏 0 赞 0 分享

ruby 局部变量

ruby 局部变量
收藏 0 赞 0 分享

ruby 类常量 解析

ruby 类常量 解析
收藏 0 赞 0 分享

ruby 异常处理:rescue

ruby 异常处理:rescue
收藏 0 赞 0 分享

ruby 异常处理:ensure

ruby 异常处理:ensure
收藏 0 赞 0 分享

ruby 存取器 概念

ruby 存取器 概念
收藏 0 赞 0 分享

ruby 对象的初始化 方法

ruby 对象的初始化 方法
收藏 0 赞 0 分享

ruby 杂项

ruby 杂项
收藏 0 赞 0 分享

初步了解一下什么是ruby

了解下什么是ruby,希望学习ruby的朋友了解下
收藏 0 赞 0 分享
查看更多