Ruby简介
Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘创建于1993年。
Ruby 是"程序员的最佳朋友"。
Ruby 的特性与 Smalltalk、Perl 和 Python 类似。Perl、Python 和 Smalltalk 是脚本语言。
Ruby特性
- Ruby 是一种通用的、解释的编程语言。
- Ruby 是一种真正的面向对象编程语言。
- Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。
- Ruby 可以被嵌入到超文本标记语言(HTML)。
- Ruby 语法简单,这使得新的开发人员能够快速轻松地学习。
- Ruby 可扩展性强,用 Ruby 编写的大程序易于维护。
- Ruby 可用于开发的 Internet 和 Intranet 应用程序。
- Ruby 可以很容易地连接到 DB2、MySQL、Oracle 和 Sybase。
- Ruby 有丰富的内置函数,可以直接在 Ruby 脚本中使用。
Ruby与python对比
之前有段时间用Python进行编程,现在学习Ruby,两者比较相似,所以进行对比:
- Ruby的哲学是“每一件事情总是有多种做法”,可以激发程序员的创造力,会让我们觉得编程很有趣。和Ruby相反,Python的哲学是“做一件事情有且只有一种方法”,这一点减轻了人们在开发时的认知负担和选择成本,对于提高开发效率是很有帮助的。所以有人说:想要成为一个高效工程师,推荐 Python。 想要爱上工作,推荐 Ruby。
- Ruby是纯粹的面向对象。CSDN的范凯曾经说过:“你学习了Ruby以后,你就会发现,原来Java/C++所谓的面向对象就是TMD的山寨版本的面向对象,原来面向对象还可以这样玩啊”。Python其实是把面向过程和面向对象杂糅起来了。
- Python解释器,特别是CPython,目前比现有的Ruby解释器快很多。
- Ruby吸收了很多语言(Lisp、Smalltalk等等)的特性,它能帮助你更好的看清你之前一直使用的语言的限制之处在哪。
Ruby安装
首先使用rbenv进行安装:
wangpingsheng% brew install rbenv
Updating Homebrew...
...
...
To enable shims and autocompletion, run this and follow the instructions:
rbenv init
==> Summary
/usr/local/Cellar/rbenv/1.1.0: 36 files, 63.3K
wangpingsheng% rbenv install -l
wangpingsheng% rbenv install 2.0.0-p247
wangpingsheng% ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
使用gem安装rails:
wangpingsheng% sudo gem install bundler
Password:
Fetching: bundler-1.13.6.gem (100%)
Successfully installed bundler-1.13.6
Parsing documentation for bundler-1.13.6
Installing ri documentation for bundler-1.13.6
1 gem installed
wangpingsheng% gem env home
/Library/Ruby/Gems/2.0.0
wangpingsheng% sudo gem install rails
Password:
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: minitest-5.10.1.gem (100%)
Successfully installed minitest-5.10.1
Fetching: concurrent-ruby-1.0.3.gem (100%)
Successfully installed concurrent-ruby-1.0.3
Fetching: activesupport-5.0.0.1.gem (100%)
ERROR: Error installing rails:
activesupport requires Ruby version >= 2.2.2.
Ruby版本过低,于是更新版本后继续安装rails:
wangpingsheng% rbenv version
2.3.1 (set by /Users/pswang/.ruby-version)
wangpingsheng% sudo gem install rails
wangpingsheng% rails -v
Rails 5 requires Ruby 2.2.2 or newer.
You're running ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
Please upgrade to Ruby 2.2.2 or newer to continue.
Ruby已经安装了2.3.1,可是还是提示版本低于2.2.2,然后就发现了ruby -v
与rbenv version
结果不一致:
wangpingsheng% ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
wangpingsheng% rbenv version
2.3.1 (set by /Users/pswang/.ruby-version)
解决办法
终于版本更新一致了,继续安装rails:
wangpingsheng% ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
wangpingsheng% rbenv version
2.3.1 (set by RBENV_VERSION environment variable)
wangpingsheng% sudo gem install rails
Done installing documentation for i18n, thread_safe, tzinfo, concurrent-ruby, activesupport, rack, rack-test, mini_portile2, nokogiri, loofah, rails-html-sanitizer, rails-dom-testing, builder, erubis, actionview, actionpack, activemodel, arel, activerecord, globalid, activejob, mime-types-data, mime-types, mail, actionmailer, nio4r, websocket-extensions, websocket-driver, actioncable, thor, method_source, railties, bundler, sprockets, sprockets-rails, rails after 70 seconds
36 gems installed
这回终于安装完了。。。可是查看rails -v
又报错了,吓我一大跳:
wangpingsheng% rails -v
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
然后才想到没有执行rbenv rehash
,执行之后就好了:
wangpingsheng% eval "$(rbenv init -)"
wangpingsheng% rbenv rehash
wangpingsheng% rails -v
Rails 5.0.1
到此终于结束安装~😁
总结
这次安装真的是困难重重,中间一次ruby版本升级时在网上查到的是用RVM进行升级,后来又查到RVM和rbenv不兼容,又卸载了RVM重安装新版本,安完后ruby -v
却没有更新,在志愿者的帮忙下解决了问题,最终成功安装了ruby、rails,感谢大家~
下一步开始学习ruby语法,加油~