1.ruby定义函数与执行函数案例

def fact(n)  if n ==      else   n * fact(n-)  end end

print fact()

结果: 24

2.一个小例子

words = ['a','b','c'] secret = words[rand()] print "guess?\n" while guess = STDIN.gets  guess.chop!  if guess==secret   print "You win!\n"   break  else   print "Sorry,you lose.\n"  end  print "guess?\n" end print "The word was ",secret,"\n"

结果: guess? a Sorry,you lose. guess? b You win! The word was b

3.流程控制 #注释

def checknum(i) case i when ..  print "1..5\n" when ..  print "6..10\n" end end checknum()

结果: 6..10

4.for循环 #注释

def loopnum(a,z)  for num in("#{a}".."#{z}")   print num,"\n"  end end loopnum(,)

结果: 1 2 3 4 5 6 7 8 9

5.类的演示 #注释

class Dog  def speak   print "Bow Wow\n"  end end

dogobj = Dog.new dogobj.speak

结果: Bow Wow

6.继承 #注释

class Dog
def speak
print "Bow Wow\n"
end
end class SpottyDog<Dog
def wash
print "Wash my spotty\n"
end
end spotty = SpottyDog.new
spotty.speak
spotty.wash
结果:
Bow Wow
Wash my spotty

可以砍掉一些不需要的方法

class Dog
def speak
print "Bow Wow\n"
end
end class RobotDog<Dog
def speak
fail "Sorry.I cant speak"
end
end robot = RobotDog.new
robot.speak

结果: 会报错Sorry.I cant speak

7.重载方法 #注释

class Human  def identify   print "I'm a person.\n"  end  def train_toll(age)   if age<    print "Reduced fare.\n"   else    print "Normal fare.\n"   end  end end Human.new.identify

class Student1<Human  def identify   print "I'm a student.\n"  end end Student1.new.identify

class Student2<Human  def identify   super   print "I'm a student.\n"  end end Student2.new.identify

class Dishonest<Human  def train_toll(age)   super()#不诚实的孩子  end end Dishonest.new.train_toll()

class Honest<Human  def train_toll(age)   super(age)#不诚实的孩子  end end Honest.new.train_toll()

结果: I'm a person. I'm a student I'm a person. I'm a student Reduced fare. Normal fare.

Ruby小例子的更多相关文章

  1. Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子

    Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...

  2. springmvc入门的第一个小例子

    今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...

  3. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  4. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  5. bootstrap 模态 modal 小例子

    bootstrap 模态 modal  小例子 <html> <head> <meta charset="utf-8" /> <title ...

  6. INI配置文件分析小例子

    随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...

  7. JavaScript小例子:复选框全选

    JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...

  8. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

  9. js小例子(标签页)

    运用js写的一个小例子,实现点击不同的标签出现不同的内容: <!DOCTYPE html> <html> <head> <meta chaset=" ...

随机推荐

  1. 配置VirtualBox Linux系统与Windows共享文件

    手动方式配置VirtualBox Linux系统与Windows共享文件 首先,要安装VirtualBox自带的扩展工具,这个ISO可以在虚拟主机安装目录下找到. 将这个文件Copy到你的Linux主 ...

  2. UML_活动图

    一.活动图的组成元素 Activity Diagram Element 1.活动状态图(Activity) 2.动作状态(Actions) 3.动作状态约束(Action Constraints) 4 ...

  3. Volist标签 key值的使用

    Volist标签是thinkphp框架view中常用到的一个标签.主要用于在模板中循环输出数据集或者多维数组.今天使用key属性时出了点问题,记录一下. volist标签(循环输出数据) 闭合 非闭合 ...

  4. Python 自动化脚本学习(三)

    函数 例子 def hello(): print("hello" + "world"); 有参数的函数 def hello(name): print(" ...

  5. Elasticlunr.js 简单介绍

    Elasticlunr.js 项目地址:http://elasticlunr.com/ 代码地址:https://github.com/weixsong/elasticlunr.js 文档地址:htt ...

  6. C#中如何只保留小数点后面两位?

    string.format("%.4f",1/3) 1.Math.Round(0.333333,2);//按照四舍五入的国际标准2. double dbdata=0.335333; ...

  7. 被Oracle全局暂时表坑了

    今天凌晨4点多钟,在客户现场的负责人打电话给我,说非常奇怪,下载功能时快时慢.此下载功能非常复杂,之前一直是我优化,在半梦半醒中打开电脑,通过远程看着现场同事在PL/SQL developer中操作. ...

  8. Bestcoder HDU5059 Help him 字符串处理

    Help him Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  9. VLC各个Module模块之间共享变量的实现方法

    在做VLC开发的时候,想使用一个模块访问另外一个模块的数据, 比如在网络模块得到了一些数据,想在其他模块得到这些数据进行处理,这时候就需要两个模块共享一些变量. 查看VLC的源码,发现VLC专门有va ...

  10. 未找到具有固定名称“System.Data.SQLite”的 ADO.NET 提供程序的实体框架提供程序

    用户代码未处理 System.InvalidOperationException   HResult=-2146233079   Message=未找到具有固定名称"System.Data. ...