文章分类 - Ruby
摘要:一、类定义class Account attr_accessor :number @@count = 0 def initialize(number, name, balance) @number = number @name = name @balance = balance @@count = @@count + 1; end def Account.count @@count end def Account.count=(value) @@count = value end def name @name end def name=(value) @name = value end def
阅读全文
摘要:def fib(n)
(n==1 || n==2) ? 1 : fib(n-1)+fib(n-2)
end
puts fib(7) #13
阅读全文
摘要:不同于C#中的DateTime,在ruby中日期和时间分别对应了Date和Time两个类。1.1 日期require "date"date = Date.new(2013,5,28)date = date-1 #昨天date = date >> 1 #下月puts date.leap? #闰年判断puts date.to_sputs "%s_%s_%s" % [date.year, date.month, date.day]1.2 时间require "date"time = Time.now.strftime("
阅读全文
摘要:1.1 条件判断1.1.1 if条件语句(1) 多行使用if..end; if..else..end; if..elsif..else..end;print "输入分数:"score = gets.to_iif score >= 90 puts "得A"elsif score >= 80 and score < 90 puts "得B"elsif score >= 70 and score < 80 puts "得C"elsif score >= 60 and score <
阅读全文
摘要:1.1 输入1.1.1 控制台输入控制台输入通过gets方式获取,即通过STDIN.gets获取输入字符串。gets会以字串传回使用者的输入,取得的字串会包括换行字元。如果需要取出换行字元,则可以使用gets.chomp。获取到的内容都是字符串,如果需要,可以通过to_i,to_f转换成整型和浮点型处理。例如:print "Input your name: "name = getsputs "Hello, #{name}!"1.1.2 文件输入文件读取可以通过file.read方式。例如:print "File name: "name
阅读全文
摘要:1.1 整数(Integer)整型分两种,如果在31位以内(四字节),那为Fixnum实例。如果超过,即为Bignum实例。可以通过num.to_s将整数转化为字符串。指数操作符**。puts 3**3 #27操作符<=>比较大小。例如:a<=>b,若a大于b时返回正数,若相等时返回0,若小时返回负数。1.2 浮点数(Float)(1)浮点数的类. Float与C语言的double相同,其精度要看环境而定。浮动数采用近似表示,例如0.1可能会存储为0.099999999999999…。puts 0.3-0.2==0.1 #false(2)可以通过truncate删除小数
阅读全文
摘要:变量名必须是单个实体,不含空格。必须以字母,或下划线开头,必须只包含数字,字母,下划线,并且是区分大小写。1.1 变量分类1.1.1 局部变量以小写字母或下划线卡头。局部变量也就是基本的变量,在变量定义的相同地方使用。1.1.2 全局变量以$开头。1.1.3 类变量类变量就是在类定义中用@@开头的变量。类变量是用于存储类的全局信息,它只属于类,不同与类实例变量(即用@开头定义的变量)每一个类的对象都有一份数据。 类变量是可以被继承的,也就是说如果我们派生一个子类,那么在子类中是可以访问父类的类变量的。类变量在访问前必须赋值。子类和父类共享一份数据,对一个类的修改会反映到另一个类中。1.1.4
阅读全文

浙公网安备 33010602011771号