Ruby_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> Ruby >>列表
· ruby 数组发布时间:2011-12-27
数组类。数组的元素可以是任何Ruby对象。详细参看数组表达式。超类Object(物件)包含的模块Enumerable可举列模块方法self[nth]获取第nth个数组元素。索引从0开始。若nth为负值,则从尾部开始算起(最后一个元素的索引为-1)。若第nth个元素不存在,则返回nil。self[start,length]返回从start算起,包含length个元素的数组。若start为负值,则从尾部开始算起(最后一个元素的索引为-1)。若length超出从start算起的数组剩余长度... 查看全文
由于Rubygems官方网站被Wall了,导致Ruby程序员在线安装软件gem包的时候无法顺利进行,往往需要借助VPN才能成功安装,所以带来了很大的不便。最近淘宝网提供了Rubygems的国内镜像站:http://ruby.taobao.org/从淘宝的国内镜像网站在线下载和安装Gem包速度变得飞快!强烈推荐大家使用此镜像站点:例如要安装Rails,可以这样来做:Ruby代码gemsources-ahttp://ruby.taobao... 查看全文
· Ruby 预定义的变量, 全局变量发布时间:2011-12-22
见图.也可通过Kernel#global_variables方法列出所有全局变量putsglobal_variables大小:542.3KB查看图片附件... 查看全文
· Ruby 正则表达式发布时间:2011-12-22
Ruby中常会用到正则表达式。正则表达式是用来表达字符串的模式(pattern)的。也可以这么理解:我们使用正则表达式来表示某种搜索规则,然后使用该正则表达式来完成字符串的搜索工作。举个例子,假定有这样的搜索规则:“字符串以’FOO’开始,以’R’结束”,那么就可以使用以下正则表达式来表示该规则。/^FOO.*R$/Ruby用//将正则表达式括起来。^表示开头,$表示结尾,.*表示0个以上的任意字符。现在就讲讲正则表达式的规则的写法。正则表达式中有很多上述的具有特别意义的字符。首先是下列字符... 查看全文
· ruby 1.9 rails 3.1 ruby debug的问题 发布时间:2011-12-21
我是装linecache19出的问题geminstalllinecache19-0.5.13.gem引用Installinglinecache19(0.5.12)withnativeextensions/Users/joseph/.rvm/rubies/ruby-1.9.2p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in`rescueinblockinbuild_extensions':ERROR... 查看全文
PHP变量、常量变量:$var="1000";常量:define("ROOT","/tmp");类常量:constaaa=10;类变量:同样还是$xxx;全局变量:global$xxx;$GLOBALS['xxxx']Ruby变量、常量变量:aa=10或者_a=10小写字母或者下划线开头常量:Ma=10实例变量:@hello=10类变量:@@t=20全局变量:$aa=10PHP基本的类实例化<?phpclassdemo{function__construct($name){$this... 查看全文
· Ruby学习笔记-循环与选择结构发布时间:2011-12-20
一、循环结构1.for…in语句:Ruby提供的for...in语句主要用于迭代数组和Hash对象中的元素,与其它语言的for语句有一定的差距,语法格式:forvalinArray|Hash|Range[do]#codeend----------------------------------------------------迭代数组:foriin['one','two','three']doputsiend迭代Hash对象:h={1=>'aaa',2=>'bbb'... 查看全文
· 东风何处是人间(ruby版)发布时间:2011-12-16
在今年3月份的,就看到这个帖子《东风何处是人间》了,对宋词进行分词计数,当时就保存了这个帖子,想以后有时间写个ruby版的。后来就忘记了近期这个帖子大火啊,也终于抽出时间写ruby版的了。个人水平有限,程序写的很糟糕,至少比原文的看着复杂多了,不知道是否能有ruby高手给大家写个示例。数据:《全宋词》文本#coding:utf-8require"iconv"s1=Iconv.conv'gbk','utf-8',","s2=Iconv.conv'gbk','utf-8',"。"s3=Iconv... 查看全文
· ruby array中找出重复元素发布时间:2011-12-15
#上文的inject现在用上了moduleEnumerabledefdupsinject({}){|h,v|h[v]=h[v].to_i+1;h}.reject{|k,v|v==1}.keysendendarr=%w{foobarbazbarbazquxfoozub}putsarr.dups.inspect#=>["baz","foo","bar"]#替换一inject(Hash.new(0)){|h,v|h[v]+=1;h}.reject{|k,v|v==1}... 查看全文
· Bugatti and Ruby on Rails发布时间:2011-12-15
Bugatti(布加迪)在1998年被大众收购之后,它的设计目标就只有一个字:快。设计最快的量产车,这个目标听起来好像不是那么惊世骇俗,但从实际效果来看,他们所做的,不是像在拍卖会上斗气那样仅仅设计一辆快过当时水平的汽车,而是一辆真正让人望尘莫及的“神作”,一辆你还在起步,它已经冲过终点的“怪物”。RubyonRails框架的横空出世,与此有异曲同工之妙。在Web开发领域,Rails框架就是那个别人还在起步,它已经帮你完成项目的“神作”。[注]关于布加迪的描述来自一本南航飞机杂志。... 查看全文
· Ruby UTF-8 String to Hex String发布时间:2011-12-14
今天用Ruby通过thrift操作hbase,发现thriftapi对utf-8的支持并不好。比如我要插入一条记录,值为“中国”,我不能直接用“中国”来赋值,而是需要将”中国“转换为”\xE4\xB8\xAD\xE5\x9B\xBD“才能赋值。同理,我取数据时取到的就是“\xE4\xB8\xAD\xE5\x9B\xBD”(字面值),需要想办法转换成“中国”。将一个UTF-8编码的字符串转换为十六进制编码的二进制串,需要这么做:"中国".bytes.to_a.pack("C*"... 查看全文
· 也说说ruby inject发布时间:2011-12-13
其实,没有什么太多说的,IE有的先链接过来http://biyeah.iteye.com/blog/1286449http://www.iteye.com/topic/56291下面的总结的挺好,完了来回顾一下inject方法两种用法:enum.inject(init_value){|memo,obj|block}enum.inject{|memo,obj|block}第一种,memo以init_value为初始值第二种,memo以enum里的第一个元素为初始值。然后,inject可以这么写... 查看全文
· ruby 两种静态法发布时间:2011-12-09
1.不用selfclassTestclass<<selfdefaputs"staticmethod"endendend2.self的方式Ruby代码classTestdefself.aputs"staticmethod"endend调用Ruby代码Test.a转自:http://www.iteye.com/topic/1116041... 查看全文
· Ruby 之 Block Proc Lambda发布时间:2011-12-08
Block不是对象,是Ruby的语言特性,近似于闭包(Closure)。范例:defmethres=yield"Blockcalledreturns#{res}"endputsmethdonext“next_value”end#Blockcalledreturnsnext_valueputsmethdobreak“break_value”end#break_vcowcuo错误哦aluedefmymethdoreturn“reutnr_value”endendputsmy(... 查看全文
在使用Ruby开发时,经常会遇到需要比较两个Hash对象的值的场合。代码类似如下:x=Hash.newx[:a]='x'y=Hash.newy[:a]='y'x.keys.eachdo|key|ifx[key]!=y[key]puts"finddifferenceforkey#{key}:x=#{x[key]},y=#{y[key]}"endend这样写代码固然可以,但是代码显得有些零乱,另外这种比较逻辑经常需要复用,能不能把它封装在一个函数当中呢?答案是肯定的... 查看全文
· ruby1.9 debug工具错误发布时间:2011-12-08
引用ruby-debug-base19-0.11.25/lib/ruby_debug.so:undefinedsymbol:ruby_threadptr_data_typegem'linecache19',:git=>'git://github.com/mark-moseley/linecache'gem'ruby-debug-base19x','~>0.11.30.pre4'gem'ruby-debug19',:require=>'ruby-debug'... 查看全文
· ruby case表达式发布时间:2011-12-08
Ruby中的case语句非常强大,首先我们来看一个基本用法:grade=casewhenpoint>=85:'A'whenpoint>=70&&point<80:'B'whenpoint>=60&&point<70:'C'whenpoint<60:'D'else'E'end这里case语句的作用和if表达式类似,case语句的返回值就是最后一个执行的表达式的值。和if语句类似,如果写在同一行的话需要加then或冒号... 查看全文
原文:http://howtonode.org/object-graphs-3作者分析了ruby与javascript两者在面向对象模式的区别,作者用图形表达这两者在面向对象模式上的区别,值得一看。这里只摘取重点部分,有兴趣的读者可看原文。Ruby先来看一个简单的字符串:animal="cat"对象图如下:引用Noticethateveryobjecthasaclass.OurstringisofclassStringwhichinheritsfromtheclassObject... 查看全文
· Ruby下的有限状态机:AASM 发布时间:2011-12-05
Ruby世界里有很多非常可爱的plugin供我们来使用,AASM就是其中之一,通过使用这个plugin,我们可以把我们的Entity变成一个有状态的对象。下图就是一个对象的状态变化图:(图片来自http://coredotnet.blogspot.com/2008/03/creating-state-machine-workflows-using.html)状态机的概念并不陌生,我们在用面向对象的方式编写代码时,有很多情况下,需要对一个对象的状态变化进行规范化的管理。拿蓝点来说... 查看全文
· Ruby中require、load和include区别发布时间:2011-12-05
Ruby中,可以使用load和require来包含另一个文件。每次运行到load时,load后的文件会被载入并执行。4.timesdo|i|File.open("temp.rb","w")do|f|f.puts"deftest"f.puts"#{i}"f.puts"end"endload"temp.rb"putstestend执行结果为:0123在上面的小程序里load"temp.rb"执行了4次,每一次temp.rb文件都不同,所以test方法执行后的结果也不同。require和load不同... 查看全文