• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > ruby的程序结构介绍

ruby的程序结构介绍

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了ruby小程序,ruby程序,ruby rose介绍,ruby,ruby碧玺等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

概括、ruby程序由一个或多个ruby源文件组成,源文件由模块组成,模块内部有控制结构、类对象、方法、及表达式等元素,下面就按照这个思路来总结ruby的程序组织结构。

 一、源文件

 1.1、文件包含
   #file1.rb 
inc_path=$0.sub(/\/\w+\.rb/,"") #获取当前路径的目录 
$:.insert(-1,inc_path) #将当前路径加入到load路径数组 
 
require "file2.rb" 
require "file2.rb" #require包含文件只会被导入一次 
 
load "file3.rb" 
load "file3.rb" #每次load都会无条件再次导入文件 
 
 
#file2.rb 
print "file2.rb is included\n"  
 
 
#file3.rb 
print "file3 is included\n"
 </div>

1.2、源文件执行顺序


#coding=utf-8   
=begin 
这里是 
多行注释 
=end 
 
END{print "end1\n"}   
END{print "end2\n"}   
#END块的执行顺序与出现顺序相反   
 
print "text\n"   
    
BEGIN{print "begin1\n"}   
BEGIN{print "begin2\n"}   
#BEGIN块的执行顺序与出现顺序相同   
#BEGIN-TEXT-END 
 
#__END__开头的行后面的内容被忽略 
__END__ 
print "no_text\n"
</div>

1.3、源文件书写规则

◆大小写敏感
◆换行符后只能有空白符,并且都会被忽略
◆类和模块及常量名要以大写字母开头,变量以小写字母或者unicode开头

二、模块
    #module1.rb 
    inc_path=$0.sub(/\/\w+\.rb/,"") #获取当前路径的目录 
    $:.insert(-1,inc_path) #将当前路径加入到load路径数组 
     
    require "module2.rb" 
     
    print Mymod::VAR1,"\n" 
    Mymod.out 
     
    include Mymod #把Mymod导入到当前名字空间 
    print VAR1 
     
     
    #module2.rb 
    print "module2.rb is included\n" 
     
    module Mymod 
        var1=99  #模块内的变量 
        VAR1=100 #模块内的常量 
         
        print "Mymode is included,var1 is ",var1,"\n" 
         
        def Mymod.out #模块内的方法必须加上模块名 
            print "Mymod.out run\n" 
        end 
    end  
</div>

三、控制结构

ruby的控制结构和其他语言一样无非就是顺序,分支及循环,但写法上相当的灵活。

3.1、分支结构之if
#if.rb 
num=100   
if (num>200) #可以用unless进行条件取反   
  print "num>200\n"   
elsif num>100   
  print "num>100\n"   
else   
  print "num<=100\n" #此句执行   
end   
     
print "num<=100\n" if num<=100 #if语句可后置,并且if语句本身也是表达式也具有值 
if num<=100 then print "num<100\n" #then可用:替换
</div>

3.2、分支结构之case

    num=100 
     
    str1=\ 
    case 
        when num>200 then "num>200" 
        when num>100 then "num>100" 
        else "num<=100" #else不使用then 
    end 
     
    print str1,"\n" 
     
     
    case num 
        when 201 : print "num>200"#:和then起到相同的作用 
        print 101 when num>100 
        else print "num<=100" 
    end 
</div>

3.3、循环结构

    num=1 
     
    while num<5 #反义词until 
        print num 
        num+=1 
    end 
     
    print "\n" 
     
    arr1=[1,2,3,4,5] 
     
    for i in arr1 
        print i 
    end 
</div>

    num=1 
    loop{ #注意{必须和loop在同一行 
        num+=1 
        next if num==3 #不输出3 
        redo if num==4 #把循环体内此行的前面的语句再执行一遍 
        break if num>5 #大

您可能想查找下面的文章:

  • ruby开发的交互式程序例子
  • ruby 程序的执行顺序
  • Ruby程序中正则表达式的基本使用教程
  • 实例解析Ruby程序中调用REXML来解析XML格式数据的用法
  • Ruby程序中发送基于HTTP协议的请求的简单示例
  • Ruby程序中创建和解析XML文件的方法
  • ruby的程序结构介绍
  • 使用Ruby程序实现web信息抓取的教程
  • 使用C++来编写Ruby程序扩展的教程
  • 使用Ruby编写发送邮件的程序的简单教程

相关文章

  • Ruby创建“关键字”同名方法别名的方法
  • 详解Ruby中的循环语句的用法
  • Ruby元编程之梦中情人method_missing方法详解
  • 举例理解Ruby on Rails的页面缓存机制
  • Ruby on Rails所构建的应用程序基本目录结构总结
  • Windows下Ruby+Watir自动化测试的环境搭建及数据读取
  • 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)
  • ruby 学习笔记(2) 类的基本使用
  • Ruby on Rails基础之新建项目
  • Ruby中的迭代器详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • rails创建应用程序实例
    • Ruby中使用多线程队列(Queue)实现下载博客文章保存到本地文件
    • Ruby中操作文件的方法介绍
    • 分析Cache 在 Ruby China 里面的应用情况
    • 详解Ruby中的单件方法和单件类
    • Ruby中操作字符串的一些基本方法
    • 实例解析Ruby设计模式编程中Strategy策略模式的使用
    • Ruby 之 class 中的 private、 protected、public
    • Ruby中的反射(Reflection)应用实例
    • Ruby和Ruby on Rails中解析JSON格式数据的实例教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有