Ruby簡(jiǎn)介
Ruby是一種純粹的面向?qū)ο缶幊陶Z(yǔ)言。它由日本的松本行弘創(chuàng)建于1993年。
Ruby 是"程序員的最佳朋友"。
Ruby 的特性與 Smalltalk、Perl 和 Python 類似。Perl、Python 和 Smalltalk 是腳本語(yǔ)言。
Ruby特性
- Ruby 是一種通用的、解釋的編程語(yǔ)言。
- Ruby 是一種真正的面向?qū)ο缶幊陶Z(yǔ)言。
- Ruby 是一種類似于 Python 和 Perl 的服務(wù)器端腳本語(yǔ)言。
- Ruby 可以被嵌入到超文本標(biāo)記語(yǔ)言(HTML)。
- Ruby 語(yǔ)法簡(jiǎn)單,這使得新的開發(fā)人員能夠快速輕松地學(xué)習(xí)。
- Ruby 可擴(kuò)展性強(qiáng),用 Ruby 編寫的大程序易于維護(hù)。
- Ruby 可用于開發(fā)的 Internet 和 Intranet 應(yīng)用程序。
- Ruby 可以很容易地連接到 DB2、MySQL、Oracle 和 Sybase。
- Ruby 有豐富的內(nèi)置函數(shù),可以直接在 Ruby 腳本中使用。
Ruby與python對(duì)比
之前有段時(shí)間用Python進(jìn)行編程,現(xiàn)在學(xué)習(xí)Ruby,兩者比較相似,所以進(jìn)行對(duì)比:
- Ruby的哲學(xué)是“每一件事情總是有多種做法”,可以激發(fā)程序員的創(chuàng)造力,會(huì)讓我們覺得編程很有趣。和Ruby相反,Python的哲學(xué)是“做一件事情有且只有一種方法”,這一點(diǎn)減輕了人們?cè)陂_發(fā)時(shí)的認(rèn)知負(fù)擔(dān)和選擇成本,對(duì)于提高開發(fā)效率是很有幫助的。所以有人說(shuō):想要成為一個(gè)高效工程師,推薦 Python。 想要愛上工作,推薦 Ruby。
- Ruby是純粹的面向?qū)ο?。CSDN的范凱曾經(jīng)說(shuō)過(guò):“你學(xué)習(xí)了Ruby以后,你就會(huì)發(fā)現(xiàn),原來(lái)Java/C++所謂的面向?qū)ο缶褪荰MD的山寨版本的面向?qū)ο?,原?lái)面向?qū)ο筮€可以這樣玩啊”。Python其實(shí)是把面向過(guò)程和面向?qū)ο箅s糅起來(lái)了。
- Python解釋器,特別是CPython,目前比現(xiàn)有的Ruby解釋器快很多。
- Ruby吸收了很多語(yǔ)言(Lisp、Smalltalk等等)的特性,它能幫助你更好的看清你之前一直使用的語(yǔ)言的限制之處在哪。
Ruby安裝
首先使用rbenv進(jìn)行安裝:
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版本過(guò)低,于是更新版本后繼續(xù)安裝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已經(jīng)安裝了2.3.1,可是還是提示版本低于2.2.2,然后就發(fā)現(xiàn)了ruby -v
與rbenv version
結(jié)果不一致:
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)
解決辦法
終于版本更新一致了,繼續(xù)安裝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
這回終于安裝完了。。??墒遣榭?code>rails -v 又報(bào)錯(cuò)了,嚇我一大跳:
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.
然后才想到?jīng)]有執(zhí)行rbenv rehash
,執(zhí)行之后就好了:
wangpingsheng% eval "$(rbenv init -)"
wangpingsheng% rbenv rehash
wangpingsheng% rails -v
Rails 5.0.1
到此終于結(jié)束安裝~??
總結(jié)
這次安裝真的是困難重重,中間一次ruby版本升級(jí)時(shí)在網(wǎng)上查到的是用RVM進(jìn)行升級(jí),后來(lái)又查到RVM和rbenv不兼容,又卸載了RVM重安裝新版本,安完后ruby -v
卻沒有更新,在志愿者的幫忙下解決了問(wèn)題,最終成功安裝了ruby、rails,感謝大家~
下一步開始學(xué)習(xí)ruby語(yǔ)法,加油~