什么是Ruby?

Ruby由Yukihiro“Matz”Matsumoto创建,是一种开源 ,动态和解释的脚本语言,用于快速简便的面向对象编程。意思是:

众所周知,它拥有编程语言中最大的友好社区之一。

  • 能够直接进行操作系统调用
  • 开发期间的即时反馈
  • 变量声明是不必要的
  • 内存管理是自动的
  • 一切都是对象
  • 模块具有“mixin”功能
  • 迭代器和闭包

如果您不熟悉上述一些概念,请继续阅读,不要担心。 Ruby专注于简单性和生产力,具有易于阅读和易于编写的优雅语法,例如:

# Quick example of Ruby with Object Oriented Programming 
 class Greeter 
  def initialize(name) 
    @name = name.capitalize 
  end 
 
  def salute 
    puts "Hello #{@name}!" 
  end 
 end 
 
 # Create a new object 
 g = Greeter.new("world") 
 
 # Output "Hello World!" 
 g.salute 

目前的稳定版本是2.5.1

安装

Mac OS X和许多Linux发行版预先安装了Ruby。要检查系统中是否预先安装了ruby -v ,只需在shell上运行ruby -v 。有几种方法可以安装Ruby:

  • 当您使用类UNIX操作系统时,使用系统的包管理器是最简单的入门方法。但是,打包的Ruby版本通常不是最新版本。
  • 安装程序可用于安装特定或多个Ruby版本。还有一个Windows安装程序。
  • 管理器可帮助您在系统上的多个Ruby安装之间切换。
  • 最后,您还可以从源代码构建Ruby。

要了解如何通过包管理器,安装程序和源安装Ruby,请单击此处 。 RVM(Ruby Version Manager)和rbenv是管理多个Rubies的最流行的Ruby管理器。如果你被卡在任何地方,请不要担心,只需前往我们的Gitter聊天室并向我们​​询问任何问题。

IRB

IRB代表Interactive Ruby Shell。缩写irb来自Ruby的文件扩展名为“.rb”的事实,尽管交互式Ruby文件没有“.irb”的扩展名。该程序从命令行启动,允许执行Ruby命令并立即响应,实时进行实验。它具有命令历史记录,行编辑功能和作业控制功能,并且能够通过Internet直接作为shell脚本进行通信,并与实时服务器进行交互。它由Keiju Ishitsuka开发。

    irb 
    2.3.0 :001 > print "Hello World" 
    Hello World! => nil 

Ruby解释器

Ruby解释器是用于运行Ruby脚本的。如果它可用并且在Unix shell的搜索路径中可以通过键入命令ruby来启动它,然后脚本名称将调用解释器并运行脚本。

hello_campers.rb

    if 'welcome' == 'welcome' 
        print('Hello campers!') 
    end 

从命令行:

    $ ruby hello_campers.rb 
    Hello campers! 

文档

Ruby有很好的文档记录 。这些文档包括语言的教程,指南,参考和元信息。
文档的另一个重要资源是Ruby Doc 。您应该访问此链接以了解有关由AirBnB开发人员编写的Ruby样式指南的更多信息。

Ruby中对初学者的推荐阅读是为什么(Poignant)Ruby指南 这本书在编程书籍中很不寻常。由于有很多奇怪的幽默和叙事方面的轨道有时与这个主题完全无关,因此在学习Ruby基础知识时,这个方法可以让读者受到娱乐。

调试

内联print语句可用于简单调试:

    print some_variable # prints to console 

...通常,调试程序的最快方法是向源添加一些打印语句:快速编辑 - 测试 - 调试周期使这种简单方法非常有效。

Ruby还包含更强大的调试工具,例如:

你好,世界!

回到文档,我们可以阅读print方法,它是内核模块的内置方法之一。

    print(obj, ...)nil 

将每个对象打印到$ stdout。非字符串的对象将通过调用其to_s方法进行转换。 print的返回值nil 。因此,当您在IRB中运行print "Hello World! ,输出为:

    2.3.0 :001 > print "Hello World!" 
    Hello World! 
     => nil 

框架(宝石)

Ruby有几个用于快速搭建应用程序的框架(gem)。到目前为止最流行的是Rails ,它最初于2004年发布.Ruby的其他框架(宝石)包括SinatraLotusVolt 。这些选项中的每一个都有其发展的优点和缺点,并满足各种需求。

用于移动开发的Ruby Framework

要在Ruby中编写跨平台本机应用程序,RUBY MOTION用于使用Ruby编程语言为iOS,Android和OS X开发跨平台本机应用程序。 更多资源来自:http://www.rubymotion.com/

学习Ruby之后会怎么样?

每种编程语言都扮演着重要的角色。您可以为许多开源项目做出贡献,或者在掌握了Ruby之后可以申请一些大公司。许多大型互联网网站,如Basecamp,Airbnb,Bleacher Report,Fab.com,Scribd,Groupon,Gumroad,Hulu,Kickstarter,Pitchfork,Sendgrid,Soundcloud,Square,Yammer,Crunchbase,Slideshare,Funny or Die,Zendesk,GitHub, Shopify建立在Ruby之上,因此有很多选择。 此外,许多初创公司正在招聘RUby on Rails技能的人,因为没有多少程序员试图学习Ruby。所以,你可能有一个明确的工作在一家初创公司工作。 因此,Ruby是初学者友好的,并且非常难以发现你有很多空缺可以作为开发人员工作。


Contributing to the Guide

This open source guide is curated by thousands of contributors. You can help by researching, writing and updating these articles. It is an easy and fun way to get started with contributing to open source.