开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
Ruby - 开源中国社区
Ruby

Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby 体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。 Ruby的作者于1993年2月24日开...

完整介绍Ruby首页Ruby文档Ruby下载 | 授权协议: GPL
Python vs Ruby: 谁是最好的 web 开发语言?
Python 和 Ruby 都是目前用来开发 websites、web-based apps 和 web services 的流行编程语言之一。 这两种语言在许多方面有相似之处。它们都是高级的面向对象的编程语言,都是交互式...
oschina 发布于 4个月前 32
在 Ruby 中使用 HTTP 请求
有时候我们需要通过原生的 HTTP 调用来同 API 进行连接,而有时候我们又只需要进行普通的 HTTP 调用。那么在 Ruby 中有哪些可供我们选用呢? 一个 API 不会因为它自己而存在,它总会涉...
oschina 发布于 11个月前 0
Ruby 2.4 的一些新特性
使用了 Regexp#match? 的更快的正则表达式 Ruby 2.4 为正则表达式新增加了一个新的 #match? 方法,它比 Ruby 2.3 中Regexp的任何一个方法都要快三倍: require 'benchmark/ips' ...
oschina 发布于 1年前 7
Ruby 元编程:第二部分
欢迎回到Ruby 元编程系列文章。如果你没有理解透彻上一篇文章,你可能需要回顾一下  Ruby元编程: 第一部分,才能更好理解本文讨论的内容。在上一篇文章我们讨论了 Ruby对象模型、祖...
Yashin 发布于 1年前 8
为 Web 开发提供的 10 个 Ruby on Rails Gems
在这里,值得推荐的 Ruby on Rails 的 web 开发的插件包括 Capistrano 和 Foreigner。 我用 Ruby on Rails 开发已经有很多年了,用这个优秀的框架我完成了很多任务,其中有些可以算是...
oschina 发布于 2年前 4
Ruby 2015 年回顾
我们来到了 2015 年末,今年对于 Ruby 来说是重要的一年。我想回顾一下今年重要的主题和其中的故事是很有必要的。就像来一次敏捷过程回顾,我将把 2015 年的工作划分成几个主题,以此...
oschina 发布于 2年前 13
Ruby 元编程:第一部分
元编程就是编写能为你编写代码的代码。但那不就是代码生成器所做的事情吗,就像是 rails gem,或者 yeoman?或者甚至是字节码编译器? 是的,但元编程一般指的是 Ruby 中的另外一些东...
oschina 发布于 2年前 38
Ruby 2.2 的增量垃圾收集机制
本文将介绍 Ruby 2.2 引入的增量垃圾收器(GC)。我们称该算法为 RincGC。与 Ruby 2.1 相比缩短了GC中断时间。 关于作者: Koichi Sasada ,供职于 Heroku ,还在 Nobu 和 Matz 开...
oschina 发布于 2年前 8
使用 Go 语言来提升 Ruby 应用的性能
近年来,Go语言的表现相当引人注目。它与Ruby的差异明显,Go的优势,例如成本低廉且易用的并发性能,使得我们寻找如何使用的方法,应用到处理工作任务中去。本文着重于阐述能够引领你...
oschina 发布于 3年前 47
Ruby 语言将再次走红
被广泛的认为是 web 语言的 Ruby 一直都是大红大紫,但是现在它将更加走红。AltRubies 将 Ruby 推到了我们未曾想过的高度。Ruby 是不是成为了浏览器、移动app甚至是硬件的首选?让我...
oschina 发布于 3年前 71
Ruby 2.1 详情
2013 年圣诞节发布的 Ruby 2.1 是 Ruby 的下一个重要版本,仅与2.0版本的发布有10个月的间隔。该版本包含了大量的更新和提升,这篇文章就来揭秘新特性的具体细节。 新的版本控制策略...
oschina 发布于 3年前 11
Ruby 的 GIL 和事务性内存
今早我发现了一篇很有趣的文章。: Eliminating Global Interpreter Locks in Ruby through Hardware Transactional Memory 当我阅读后发现这确实是个有趣的概念颠覆了我原有的观念....
oschina 发布于 4年前 4
Ruby 2.1: RGenGC
Ruby 2.1添加了一个“受限的”分代收集器,标记时间更短,大大减少了垃圾回收的耗时。 让我们看看Rugby 垃圾回收的发展历程。 Ruby 1.8: 简单标记和清扫 经典的标记和清扫实施过程。...
oschina 发布于 4年前 6
Ruby 集合指南(2):Hashes、Sets 和 Ranges
第一篇文章中都是关注数组和Ruby中通用的迭代方式。数组是一个漂亮和优雅的类,但对于一些特殊情况就要更好的解决方案。这篇文章包含了Ruby中一些其它的集合类型。 哈希表 有时你需要...
oschina 发布于 4年前 0
Ruby 集合指南(1):数组
编程中有大量的排序和搜索。在比较老的C语言中,你可能要自己写数据结构和算法才能完成这些任务。然而,在Ruby中为了能更加关注任务处理已经将这些构造为抽象的方式。 下面这些指导将...
oschina 发布于 4年前 0
我是如何让 Ruby 项目提升 10 倍速度的
这篇文章是关于我怎样将我的ruby 珍宝contracts.ruby 提速10倍的。 contracts.ruby是我的一个项目,它用来为Ruby增加一些代码合约。它看起来像这样: Contract Num, Num => Num def...
limichange 发布于 4年前 17
Ruby 太慢了
上个周末,我参加了Google Code Jam 2013的资格赛。今年是我第三次参加了,也是我使用Ruby作为主要语言的第三个年头。 因为之前没有参加编程竞赛的经验,再加上我工作中使用Ruby,所...
oschina 发布于 4年前 87
理解 Ruby 2.0 中方法是如何查找与执行
预先介绍Ruby2.0是一个好的机会去回顾如何精确的用Ruby去树立方法调用。 理解查找方法对于掌握Ruby的层次类是很有必要的。我准备的这篇文章有很多的代码例子;你需要用Ruby 1.9.2 或...
Wyatt 发布于 4年前 6
在 Ruby 中嵌入 Rust
能够在其它语言中调用Rust的函数成为了Rust最期待的特性之一。到目前为止,这个还不能完全实现,这是由于Rust代码都依赖一个运行时环境,同时Rust的运行时环境还不具备嵌入性。重新实...
oschina 发布于 4年前 2
了解 Ruby 下的表征状态转移(REST)
摘要 REST,或者称为表征状态转移,它是一个分布式通信体系架构,正在迅速发展成云平台的一个通用概念。它非常简单,然而却足以表达大量的云资源和全部的配置、管理。在Ruby中从头开...
enixyu 发布于 4年前 0
如何成为 Ruby 程序员/开发者
我在六个月前加入了 Collective Idea 。在那时, 我有机会接触到一门新的编程语言。正如学习一门口语一样, 学习一门新的编程语言意味着学习一种新的思考方式。 下面是我关于如何成为...
傅小黑 发布于 4年前 3
请小心你的随机数令牌
我们在Meldium中广泛的使用了Resque。大多数我们的产品涉及和第三方的web apps做交互,为了让站点保持清爽(避免Heroku的长时间请求),我们采用了一个很通用的模式: 开始工作 (即在...
oschina 发布于 5年前 3
基于 Actor 模式并发的介绍 (Ruby)
老一套的至理名言道,并发编程很难,在Ruby中尤其如此。就是这个基本假设,导致许多Ruby爱好者们对类似Erlang和Scala的语言发生了兴趣。为了让一般的程序员更加容易地实现和理解并发...
Wyatt 发布于 5年前 11
Ruby 中, 线程不仅仅是用来优化性能的
Ruby社区最近兴起讨论线程相关的话题。但是,讨论的话题基本上是面向多内核的服务器,我们可以(应该)并行运行我们的代码,在所有的内核中快速运行。我非常赞同这个观点,但是我想讨...
Wyatt 发布于 5年前 0
在 Ruby 中使用状态机
有限状态机(FSM) 会用在我们周围的方方面面,如果你睁大眼睛,你会看到电子商务处理订单,火车站的电子转换器(electronic turn styles )等,都会用到有限状态机。在我之前作为一个电...
lidashuang 发布于 5年前 2
Ruby的函数式编程:Part 3
在Ruby的函数式编程的第一部分,我们了解了基本的函数式编程,并且详细研究了不可变值和无副作用的代码。在第二部分,我们研究了高阶函数与柯里化(currying)的概念,同时也研究了R...
jerrytao 发布于 5年前 0
Ruby的函数式编程:Part 2
在第一部分的系列教程里面,我们已经看到函数式变成的基本原理,并且看到了不可变性和无副作用的代码。 今天,我们来看看高阶函数和柯里化函数,这两个非常好有用的功能都在ruby中,...
jerrytao 发布于 5年前 0
破解Gems:开始阅读Ruby代码
我们写代码花费的时间都差不多,或许有些人多一些。但是我们花费在阅读别人的代码上的时间总和却有很大不同。 如果开源软件作者没有意识到他们写的代码将会被其他人阅读,他们就写不...
jerrytao 发布于 5年前 2
了解 Ruby 中的闭包 : blocks , procs 和 lambdas
虽然Ruby也许不是一个Haskell或者Clojure那种意义的函数式语言,但它支持很多函数式语言的范式。函数式语言的一个很重要的特性就是它们支持first-class函数(译注:first-class funct...
Wyatt 发布于 5年前 3
无需 Ruby 环境运行 Ruby 程序
从穴居时代到现在,人类进步了非常多.我这里不是比喻原始落后的软件,我就是指我们生活在山洞里的时代. 其中一个重大的发明就是锁, 有些鸟埋藏食物之后会转移食物如果它发现自己埋食物...
oschina 发布于 5年前 1
依赖注入并非是一种美德
很少能有比Ruby更加灵活的编程语言了,因为‘硬编码’类的引用关系会使测试变得非常困难.如果你把Date date = new Date();隐藏在了Java代码的内部,那么在测试中你怎么将它和一个已知的...
oschina 发布于 5年前 5
可视化比较 C++、Ruby 和 CoffeeScript 语言的复杂度
大多数人都认为 C++ 是相当复杂的编程语言,可到底有多复杂呢?我通过完整学习一个编程语言所需要掌握的“概念”数对此进行量化。 “概念” 在我的定义中包含大的分类,如类、操作符...
oschina 发布于 5年前 8
介绍 Redis Store
Redis Store 是一个专为Ruby应用程序服务的工具包,原生就支持分片,主从复制,编组以及超时和命名空间。此外,在Ruby on Rails上使用它也是非常的简单。
王振威 发布于 5年前 0
Ruby 2.0 中的命名参数(关键字参数)
来自 维基百科:在计算机编程语言中,命名参数或者叫做关键字参数指的是计算机语言支持为函数调用的每个参数定义一个专门的名称。
彭博 发布于 5年前 0
如何混合 Objective-C 与 Ruby 编程
关于 RubyMotion 我已经写过很多文章了,但如何混用Objective-C与Ruby还从未涉及到。实际上你能在RubyMotion项目中使用Objective-C代码,也可以在传统Objective-C的App中使用Ruby代码...
彭博 发布于 5年前 0
Ruby on Rails VS PHP VS Python
每当我们迷茫于选择合适的平台来开发网站时,网站开发专家通常会建议基于一些因素对所处的境遇进行考量。这些因素通常包括周转时间、质量、跨浏览器性、与其它框架对接的成功案例、数...
王振威 发布于 5年前 0
顶部