随笔分类 - Ruby

摘要: sort对数组排序,对应的还有sort!方法。另外ruby还提供sort_by方法,sort_by返回新数组,没有对应的sort_by!a = [2,4,3,5,1]a.sort!p a #=> [1,2,3,4,5]b = a.sort_by{|i| -i}p b...阅读全文
posted @ 2012-11-06 18:16 残星 阅读(16) | 评论 (0) 编辑
摘要: 在 js 文件中定义一个函数 showmessage_onlyone 去调用 ruby下面的 message 方法, javascript 代码:showmessage_onlyone : function(schedule) {var a = new Ajax.Request( "/people/...阅读全文
posted @ 2012-11-02 15:17 残星 阅读(7) | 评论 (0) 编辑
摘要: "/member", :action => "member_delete", :id => user.id},:confirm => "削除してもよろしいですか?" %>\'',1,1);">削除阅读全文
posted @ 2012-10-31 13:06 残星 阅读(18) | 评论 (0) 编辑
摘要: IPvalidates_format_of :ip, :with => /^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/reg = /^((\d|[1-9]\d|1\d{2}|2[0...阅读全文
posted @ 2012-10-26 15:28 残星 阅读(435) | 评论 (0) 编辑
摘要: char => ASCII Ruby代码 #方法一 irb>?a =>97 #方法二 irb>'a'[0] =>97# 方法一irb> ?a=> 97# 方法二irb> 'a'[0]=> 97反过来呢 ASCII => char Ruby代码 irb>97.chr =>"a"irb> 97.chr=> "a"于是就可以蛋疼的随即产生一个字母了阅读全文
posted @ 2012-10-24 09:22 残星 阅读(181) | 评论 (0) 编辑
摘要: 要使用UUID,把使用方法总结如下:Example usagerequire "uuidtools"UUIDTools::UUID.md5_create(UUIDTools::UUID_DNS_NAMESPACE, "www.widgets.com")# => #<UUID:0x287576 UUID:3d813cbb-47fb-32ba-91df-831e1593ac29>UUIDTools::UUID.sha1_create(UUIDTools::UUID_DNS_NAMESPACE, "www.widgets.com&q阅读全文
posted @ 2012-08-24 11:30 残星 阅读(665) | 评论 (0) 编辑
摘要: 文件的操作File类 创建新文件的方式有: file = File.new("testfile", "r") 第一个参数是文件的路径和名字; 第二个参数以文件的模式,可以是: # r 只读 # w 只写 # a 追加只写 # r+, w+, a+都是读写模式,但是有区别 # r+是覆盖写,w+是清除后写,a+是追加写 # 所有模式加b就是对应的二进制模式 打开文件的方法: File.open("testfile", "r") do |file| #处理文件 end 写入文件 File.open("E:/2阅读全文
posted @ 2012-08-13 22:59 残星 阅读(5164) | 评论 (0) 编辑
摘要: a="Ruby"b='Ruby'puts a==bputs 'Hello \n world' #在单引号中使用换行符puts "Hello \n world" #在双引号中使用换行符puts 'it is\sok' #在单引号中使用空白符puts "it is\sook" #在双引号中使用空白符puts '\141'+" "+"\141" #替换八进制数141所对应的字符puts '\x52'+" &quo阅读全文
posted @ 2012-08-13 10:36 残星 阅读(1895) | 评论 (0) 编辑
摘要: a=10b=:a #创建符号对象a="Ruby"c=:aputs b==c #判断b是否等于cputs b==:"a" #判断b是否等于字符串"a'对应的符号对象def show #创建方法show puts "Hello WOrld"endd=:show #创建方法show的符号对象puts d==:"show" #判断d是否等于字符串"show'对应的符号对象book="Ruby" #创建变量a=:"Ruby" #创建符号对象puts 阅读全文
posted @ 2012-08-13 10:28 残星 阅读(212) | 评论 (0) 编辑
摘要: #hash new_hash1={} new_hash1[:key_a]='contents1' new_hash1[:key_b]='contents2' puts new_hash1[:key_a] puts new_hash1 new_hash2={:key_a=>'conte...阅读全文
posted @ 2012-08-13 09:30 残星 阅读(8800) | 评论 (0) 编辑
摘要: 1..5 #包含:1,2,3,4,51...5 #包含:1,2,3,4d=0..59c=60..79b=80..89a=90..100puts a.max #使用max()求最大值ֵputs c.min #使用min()求最小值ֵputs d.end #使用end()求最后一个值puts b.first #使用first()求第一个值source=80if d===source #判断变量是否在范围d中 puts "成绩不及格"elsif c.include?(source) #判断变量是否在范围c中 puts "刚刚及格" elsif b===sour阅读全文
posted @ 2012-08-13 09:25 残星 阅读(279) | 评论 (0) 编辑
摘要: 1.语法检查(-c)在使用ruby执行程序文件时,如果使用“-c"命令,Ruby解释器将不执行程序,而是检查要执行代码的正确性ruby -c eg.rb2.打开警告(-w)用"-w"命令运行程序使得Ruby解释器在警告模式中运行,一旦出现错误给出警告提示3.执行字面脚本(-e)如果在打开Ruby解释器时,使用“-e”命令,则可以直接执行Ruby程序。ruby -e 'puts "唐"'4.在行模式下运行(-l)ruby -l eg2.rb5.组合命令在Ruby中一次可使用一个或多个命令。6.irb阅读全文
posted @ 2012-08-12 16:03 残星 阅读(3116) | 评论 (0) 编辑
摘要: 1、在http://rubyinstaller.org下载最新的ruby版本,直接安装。(本人下载的是rubyinstaller-1.8.7-p370.exe)(查看版本 ruby -v)2、下载devkit文件(DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe),然后解压安装,选择自己想要的目录。(这一步的顺序挺重要,否则第4步操作可能会出错)3、cmd进入windows命令操作,进入devkit的文件夹下,执行下面的操作:ruby dk.rb initruby dk.rb install4、更新gem版本(查看版本 gem -v)gem install r阅读全文
posted @ 2012-08-11 00:32 残星 阅读(202) | 评论 (0) 编辑
摘要: city=["北京","上海","天津","重庆"]puts citycity=Array.newcity[0]="北京"city[1]="上海"city[2]="天津"city[3]="重庆"puts citycity=["北京","上海","天津","重庆"]city[4]="香港"puts "数组的长度为:"+c阅读全文
posted @ 2012-07-30 14:36 残星 阅读(17407) | 评论 (0) 编辑
摘要: 1.常量虽然Ruby只要求常量首字母大写,但是为了有更好的可读性,建议将常量名的全部字母大写class PersonsFINGER=10; #定义常量puts "每个人都有"+FINGER.to_s+"根手指" #输出FINGER=11;#重新为常量赋值puts "有的人也可以有"+FINGER.to_s+"根手指"#重新输出endclass TestCONST="Hello world!";#定义常量puts CONST+" 父类中的访问"#类内部访问常量def info#阅读全文
posted @ 2012-07-30 10:16 残星 阅读(112) | 评论 (0) 编辑
摘要: p=5 #指定基数为5puts p**3 #输出5的3次方puts 5|9 #按位"或"puts 5&9 #按位"与"puts 5^9 #按位"异或"puts ~5 #按位"非"puts 10>>2 #按位右移2位puts 10<<2 #按位左移2位puts (1..10)===8 #当Range对象包含8时,返回true,当普通对象位于运算符左边时,该运算符与“==”功能相同;当左边对象是一个Range对象,且右边对象包含在该Range内时,返回true,否则返回falseputs阅读全文
posted @ 2012-07-27 15:43 残星 阅读(321) | 评论 (0) 编辑
摘要: b=10res=if b>0 #创建if表达式 b.to_s+"是正数" #返回值 else b.to_s+"是负数" #返回值 endputs res #输出 a,b=3,4 #并行赋值puts a,b a,b=b,a #使用并行赋值交换两变量值puts a,ba=[1,2,3,4,5] #创建数组b,c=a #将数组中的两个元素赋予变量b和cputs b.to_s+" - " +c.to_sb,*c=a #变量c前面加上一个*,表示该变量是一个数组puts b.to_s+" - " +c.to_sb,c=阅读全文
posted @ 2012-07-27 15:36 残星 阅读(89) | 评论 (0) 编辑