Ruby&Perl
MultiStone
更多更新的博文教程尽在MultiStone个人独立博客:xuleilx.github.io
【大家有任何问题,请在我的个人博客留言交流】
展开
-
比较bash和perl的比较运算符(纠结)
bash 整数比较-eq 等于,如:if [ "$a" -eq "$b" ]-ne 不等于,如:if [ "$a" -ne "$b" ]-gt 大于,如:if [ "$a" -gt "$b" ]-ge 大于等于,如:if [ "$a" -ge "$b" ]-lt 小于,如:if [ "$a" -lt "$b" ]-le 小于等于,如:if [ "$a" -le "$b" ]转载 2012-04-04 15:35:39 · 1241 阅读 · 0 评论 -
Ruby学习笔记_ARGF的使用 读取多个文件合并成String
[Ruby]ARGF的使用Ruby里ARGF可以将多个文件的内容合并成一个Stringputs ARGF.read // test.rb运行ruby test.rb a.txt b.txt后, a.txt和b.txt之中会被合并。 更详细的讲解可以看考: http://ruby.about.com/od/tasks/ss/Argf-A-Shortc转载 2014-04-23 22:43:51 · 1717 阅读 · 0 评论 -
Modules and Mixins
在Ruby中class的superclass只能有一个, childclass可以有多个. 所以一个class如果要继承多个class的特性是不可能的.如果有这种需求, 可以考虑把这些特性封装在Module中. Module可以很好的解决这类问题, 通过require或者load或者include可以把Module的instance method等带入到当前环境, 也就是可以使用Modul转载 2014-04-24 07:28:22 · 939 阅读 · 0 评论 -
Ruby学习笔记_super
class Person def talk(name) print "my name is #{name}" endendclass Student < Person def talk(name) super print " and I`m a student.\n" endendaPerson=Person.newaPerson.talk("xiaoming")转载 2014-03-21 22:10:03 · 2189 阅读 · 0 评论 -
Ruby学习笔记_单元测试
require "test/unit"class BasicNumber def initialize(number) @number = number end def add(x) @number + x end def multiply(x) @number * x endendclass TC_MyTest < Test::Unit::TestCase转载 2014-04-02 23:09:23 · 1896 阅读 · 0 评论 -
Ruby学习笔记_异常处理rescue
begin file = open("some_file") #如果文件打开失败,用标准输入代替。rescue file = STDINendbegin # ... process the input ...rescue # ... and deal with any other exceptions here.end转载 2014-03-25 07:46:44 · 1128 阅读 · 0 评论 -
Ruby学习笔记_对象过程
qwe=proc{ #qwe指向一个对象 print "qweqweqweqwe\n"}qwe.call #像其它对象一样,它也有可以调用的行为.特别的,我们可以用call方法执行它:def run(p) print "About to cal转载 2014-03-25 07:25:00 · 655 阅读 · 0 评论 -
Ruby学习笔记_Ruby的全局变量
Ruby大概有40多个全局变量(不同的版本不一样,ruby1.8.7有47个,ruby1.9.3有55个),这些全局变量以$开头,后接一个非字母字符的形式命名。如 $_、$+等,显的很诡异。如果不常用到,就会忘记他们的含义。不过,Ruby自带一个English库,里边引进了与这些全局变量的别名,以更友好的英文名字命名。比如下面是English库中的部分源码:转载 2014-04-07 21:30:00 · 2150 阅读 · 0 评论 -
Ruby学习笔记_正则表达式,获取系统时间,替换字符
strdoc=<<DOC_EOFThis is windows2000 or windows98 system.Windows system is BEST?Windows2000 running i 12-31-2006DOC_EOFre=/[w|W]indows(?:98|2000)/ strdoc.gsub!(re,"Windows XP")转载 2014-03-23 15:01:36 · 2195 阅读 · 0 评论 -
Ruby学习笔记_public,protected,private
class Person def speak " protected:speak " end def laugh " private:laugh" end protected :speak private :laugh def useLaugh(another) puts another.laugh #这里错误,私有方法不能指定对象 end def us转载 2014-03-22 09:07:05 · 1941 阅读 · 0 评论 -
Ruby学习笔记_数组的处理array
arr=[4,5,6]print arr.join(","),"\n" #4,5,6arr[4]="m" #把4号索引为止元素赋值为"m"print arr.join(","),"\n" #4,5,6,,mprint arr[3],"\n" #打印3号索引位置元素 #nilarr.delete_at(3) #删除3号索引位置元素print arr.joi转载 2014-03-23 09:47:49 · 954 阅读 · 0 评论 -
Ruby学习笔记_require,load
原文出处 http://rubyer.me/blog/689/●require,load用于包含文件;include,extend则用于包含模块。●require加载文件一次,load加载文件多次。 当脚本A.rb使用了B.rb的方法同时,B.rb用到了A.rb的方法时,require这个行为就很有用。 如果A.rb已经load了“B.rb”而B.rb又已load了“A转载 2014-03-22 22:19:20 · 2482 阅读 · 0 评论 -
Ruby学习笔记_watir
1. gem update --system 2. gem install watir 第一个是对Rubygems升级,第二个是对安装watir。这两个过程都是要通过网络的。转载 2014-04-13 23:50:54 · 2647 阅读 · 0 评论 -
返回列表中大于平均数的数
#!/usr/bin/perl#计算总数sub total{ my @fred = @_; foreach (@_) { $total += $_; } return $total;}#返回大于平均值的数sub above_average{ $average = &total(@_)/原创 2012-05-19 12:08:39 · 971 阅读 · 0 评论 -
打印欢迎信息并输出前一位来宾
#!/usr/bin/perl@names=qw();#全局变量,用来存放所有用户的姓名print "@names";sub greet{ #push(@names,@_) if( "@names" eq "" ) #判断有没有用户来了 { print "@_ you are the first one to原创 2012-05-19 12:47:07 · 858 阅读 · 0 评论 -
sort排序(以ASCII码顺序输出列表)
#!/usr/bin/perl@names=qw(fred betty barney dino wilma pebbles bamm-bamm);chomp(@lines=);@ascii=sort(@lines);print "@ascii\n";原创 2012-05-19 12:14:15 · 3770 阅读 · 2 评论 -
分布式Ruby解决之道 - DRb
分布式Ruby解决之道其实用Druby很久了,今天需要完成一个进程数据同步的机制,我需要的不是运行速度快,不是用 linux / mac 下的扩展,而是独立,快速开发效率,方便最简单的Ruby环境可运行,可以吗? DRb(即分布式Ruby,下面都这样说它)是内置于Ruby标准库中的对象代理的实现。什么是对象代理,现在不明白不要紧,一会就知道了。解决什么样的问题?有的转载 2014-05-12 23:37:26 · 2708 阅读 · 0 评论