初步了解一下什么是ruby

关键字
def undef 方法定义
module 模块定义
class 类定义
defined? 检查类型
条件语句 if,then,else,elsif,case,when,unless
循环语句 for ,in,while,until,next,break,do,redo,retry,yield
逻辑判断 not ,and ,or
逻辑或空值 true,false,nil
异常处理 rescue,ensure
对像引用super ,self
嵌入模块BEGIN END
块的起始 begin/end
文件相关_FILE_ _LINE_
方法返回return
别名 alias

符号
; 用来分隔多语句
()定义方法时容纳参数列表
,隔开多个参数
.将对象归与它的方法分开
::域作用符号,将(模块)类与它的常量隔开

运算符
[] []=数组下标,数组赋值
** 乘冥
!~ + - 非,位非,一元加 负号
* / % 乘 除 模
+ - 加 减
>> << 右移 左移
& 位与
^| 位异或 位或
<= < > >= 小于等于 小于 大于 大于等与
<==> == === =~ != !~ 各种相等判断
&& 短路与 
|| 短路或
.. ... 区的开始到结束点,第二个不包括尾
?: 三元条件运算符

全局变量由$开头.它们可以在程序的任何位置访问到.在初始化前,全局变量有一个特殊的值 nil. 
这里列出了一些以$打头并跟单个字符的特殊变量.比如,$$包含了Ruby解释器的进程id,它是只读的.这里是主要的系统变量以及它们的含义(细节可在Ruby的参考手册中查到): 
$! 最近一次的错误信息 
$@ 错误产生的位置 
$_ gets最近读的字符串 
$. 解释器最近读的行数(line number) 
$& 最近一次与正则表达式匹配的字符串 
$~ 作为子表达式组的最近一次匹配 
$n 最近匹配的第n个子表达式(和$~[n]一样) 
$= 是否区别大小写的标志 
$/ 输入记录分隔符 
$\ 输出记录分隔符 
$0 Ruby脚本的文件名 
$* 命令行参数 
$$ 解释器进程ID 
$? 最近一次执行的子进程退出状态

=begin

示例:win32api操作

=end

require 'dl'
User32 = DL.dlopen("user32")
MB_OKCANCEL = 1
message_box = User32['MessageBoxA', 'ILSSI']
r, rs = message_box.call(0, 'OK?', 'Please Confirm', MB_OKCANCEL)
case r
when 1
    print("OK!\n")
when 2
    print("Cancel!\n")
end

system($*[0]) #命令行接收参数 $*[0]全局变量

File.open('c:\\boot.ini').ecah do |line|;puts line; end #读取全部内容

arr=File.readlines('c:\\boot.ini');puts arr[0] ) #只读第一行

File.open('c:\\boot.ini') do |f1| #另一种方法,只读第一行
while line=f1.gets
puts line
break
end
end

#写文件

File.new('c:\1.txt',"w").puts 'message'

(0)

相关推荐

  • 初步了解一下什么是ruby

    关键字 def undef 方法定义 module 模块定义 class 类定义 defined? 检查类型 条件语句 if,then,else,elsif,case,when,unless 循环语句 for ,in,while,until,next,break,do,redo,retry,yield 逻辑判断 not ,and ,or 逻辑或空值 true,false,nil 异常处理 rescue,ensure 对像引用super ,self 嵌入模块BEGIN END 块的起始 begin

  • 初步讲解Ruby编程中的多线程

    每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程. 线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程. Ruby 中我们可以通过 Thread 类来创建多线程,Ruby的线程是一个轻量级的,可以以高效的方式来实现并行的代码. 创建 Ruby 线程 要启动一个新的线程,只需要调用 Thread.new 即可: # 线程 #1 代码部分 Thread.new { # 线程 #2 执行代码 } # 线程 #1 执行代码 实例 以下实例展示了如何在

  • 举例初步讲解Ruby中的正则表达式

    正则表达式是一个特殊的字符序列可以帮助匹配或者找到其他字符串或串套,使用的模式保持一个专门的语法. 正则表达式文本是一个模式之间的斜线之间或任意分隔符 %r 如下: 语法: 复制代码 代码如下: /pattern/ /pattern/im    # option can be specified %r!/usr/local! # general delimited regular expression 例如: #!/usr/bin/ruby line1 = "Cats are smarter t

  • Ruby多线程编程初步入门

    传统程序有一个单独的线程执行,包含该程序的语句或指令顺序执行直到程序终止. 一个多线程的程序有多个线程的执行.在每个线程是按顺序执行的,但是在多核CPU机器上线程可能并行地执行.例如,通常情况下在单一CPU的机器,多个线程实际上不是并行执行的,而是模拟并行交叉的线程的执行. Ruby的可以使用 Thread 类很容易地编写多线程程序. Ruby线程是一个轻量级的和高效的在代码中实现并行性. 创建Ruby线程: 要启动一个新线程,关联一个块通过调用Thread.new.将创建一个新的线程执行的代码

  • js 数组实现一个类似ruby的迭代器

    分为如下几节: ·基本实现 ·在迭代中引用原来的对象,或者直接改变数组的值而不是返回一个新数组 ·向迭代传入无限多的参数 ·基本实现 今天突然发现js的数组处理起来真是麻烦,代码一些就是一大堆,相比起ruby的迭代器来真是逊色不少,主要是要写的代码太多了,也许是js有特殊的处理数组的方式,真是我不知道而已,但是我真的想自己给js实现一个类似ruby的迭代器的东东,而且实现起来也不难,那就开始动手吧. 真的应该庆幸js是动态语言啊,如果是静态语言,实现起来很不方便(别说要我重新定义一个继承自arr

  • 使用Ruby on Rails快速开发web应用的教程实例

    Ruby on Rails 正在令整个 Web 开发领域受到震憾.让我们首先了解底层的技术: Ruby 是一门免费的.简单的.直观的.可扩展的.可移植的.解释的脚本语言,用于快速而简单的面向对象编程.类似于 Perl,它支持 处理文本文件和执行系统管理任务的很多特性.     Rails 是用 Ruby 编写的一款完整的.开放源代码的 Web 框架,目的是使用更简单而且更少的代码编写实际使用的应用程序. 作为一个完整的框架,这意味着 Rails 中的所有的层都是为协同工作而构造的,所以您不必自己

  • Ruby设计模式编程中对外观模式的应用实例分析

    何为外观模式? 外观模式为子系统中一组不同的接口提供统一的接口.外观定义了上层接口,通过降低复杂度和隐藏子系统间的通信以及依存关系,让子系统更加易于使用. 比方说子系统中有一组不同的类,其中一些彼此依赖.这让客户端难以使用子系统中的类,因为客户端需要知道每一个类.外观起到整个子系统的入口.有些客户端只需要子系统的某些基本行为,而对子系统的类不做太多定制,外观为这样的客户端提供简化的接口.只有需要从某些子系统的类定制更多行为的客户端,才会关注外观背后的细节. 外观模式:为系统中的一组接口提供一个统

  • ruby中并发并行与全局锁详解

    前言 本文主要给大家介绍了关于ruby并发并行和全局锁的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 并发和并行 在开发时,我们经常会接触到两个概念: 并发和并行,几乎所有谈到并发和并行的文章都会提到一点: 并发并不等于并行.那么如何理解这句话呢? 并发: 厨师同时接收到了2个客人点了的菜单需要处理. 顺序执行: 如果只有一个厨师,那么他只能一个菜单接着一个菜单的去完成. 并行执行: 如果有两个厨师,那么就可以并行,两个人一起做菜. 将这个例子扩展到我们的web开发

  • 如何利用Ruby简单模拟Lambda演算详解

    前言 最近看一本叫做<计算的本质>的书,这本书主要说了一些底层计算方面的知识.可以说它刷新了我的三观,而当今天看到可以使用Y组合子来实现递归的时候我的世界观基本崩塌了.故借着七夕来写一篇文章总结一些关于计算的一些基本认识.以便后续可以更好地学习.也借着Ruby的语法来阐述一下关于Lambda的一些故事. 0. 题外话 为了庆祝一下这个七夕节日,我提前关掉了LOL,打开了Emacs,敲下如下代码(这里顺便推广一下Ruby的单件方法) subject = "情侣" object

  • win10下使用virtualbox + vagrant配置ruby开发机环境

    在写本文前,笔者已经尝试了多种其他的替代方法,例如wmware虚拟机安装kylin.然而发现总是还有各种问题.经大佬指点安装了virtualbox + vagrant.于是发现配置起来如此简单.接下来笔者将详细阐述. (注:笔者自己的服务器上的配置是centos7.2 + ruby2.3.4 + mariadb + redis,自己的笔记本为win10,另外,很多网上的类似文章都写于很长时间以前,很多内容现在已经不适用,甚至很多关键的环节还不讲清楚,导致笔者配置初期踩了很多的坑.所以写下此文,总

随机推荐