Ruby 札記 - 淺談和配置 Ruby

GracKanil發表於2018-07-25

What,Why,Where,How? 你或許會問這些問題,接下來,淺談些許拙見。

0x00 前言

大學時,在一個分享會上,聽一個科大的準研究生說,“如何理解計算機基礎?首先從思維方式上就要轉變,站在計算機的角度去思考問題。”似乎也不無道理。我想,工程師大多也都是這個思維,這樣機器就能執行的更快,執行效率更高...

然而,松本行弘先生(Matz)設計 Ruby 語言第一要義,就是 減少程式設計時候的不必要的瑣碎時間,令編寫程式的人高興。

Matz 認為 Ruby > (Smalltalk + Perl) / 2,表示Ruby是一個語法像 Smalltalk 一樣完全物件導向、指令碼執行、又有 Perl 強大的文書處理功能的程式語言。說到 Smalltalk ,不得不提一下 Objective-C, 它最大的特色就是承自 Smalltalk 的訊息傳遞模型(message passing),該機制與今日 C++ 式之主流風格差異甚大。所以也提高了我探尋的興趣 ;)

0x01 Ruby 是什麼

Ruby 是一種物件導向、命令式、函式式、動態的通用程式語言。

Ruby has been designed on the Principle of Least Surprise - Matz says "I wanted to minimize my frustration during programming, so I want to minimize my effort in programming. That was my primary goal in designing Ruby. I want to have fun in programming myself. After releasing Ruby and many people around the world got to know Ruby, they said they feel the way I feel. They came up with the phrase the principle of least surprise."

2001 年,Oreilly 對 Matz 的一個關於 Ruby 歷史的採訪. Matz 的 "The Philosophy of Ruby" 也值得學習。

0x02 為什麼要學習 Ruby

有趣。這是一個好的問題,但這也是一個大家都知道答案的問題。一千個讀者就有一千個哈姆雷特,我想也類似於這個問題。我簡單說一下我的原因,有些人會說,語言只是工具而已,不用學習那麼多。希望大家辯證的思考這個觀點,每一門語言,每一個設計,都有自己的原則,都有自己的思維方式,自己的哲學存在。學習鍛鍊自己,發人深省。每一個 iOS 開發者,對 Smalltalk 或多或少會有些情愫,Ruby 中也能看到它的影子,不免有些共鳴。

0x03 如何學習 Ruby

一、下載 Ruby

for Windows,個人多一句,建議不使用 Windows 環境學習 Ruby,有兩個原因,第一,Ruby 對 Unix 環境的需求非常高;第二,Ruby 在 Windows 環境下面執行效率低。或多或少會有些彎路。

for UNIX-like,首先不建議使用系統預裝的,可能比較過時了,另外,推薦使用 rbenvRVM 或者 chruby 管理 Ruby 環境。

  • 先安裝 Xcode 開發工具,它將幫你安裝好 Unix 環境需要的開發包
  • 然後安裝 Homebrew
  • ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 如果需要安裝 Rails,安裝 brew install libxml2 libxslt libiconv 必須的依賴第三庫
  • 安裝 RVM
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ -sSL https://get.rvm.io | bash -s stable
如果失敗,嘗試
$ curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
$ source ~/.rvm/scripts/rvm
$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
$ rvm -v
複製程式碼
  • RVM 安裝 Ruby
$ rvm requirements
$ rvm install 2.4.0
$ rvm use 2.4.0 --default
$ ruby -v
$ gem -v
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
複製程式碼
  • 安裝 Bundler
$ gem install bundler
複製程式碼
  • 安裝 Rails
$ gem install rails
$ rails -v
複製程式碼

二、下載一個編輯器

  • Visual Studio Code
  • Atom
  • Sublime Text
  • Vim 或 Emacs

0x04 在哪兒學習 Ruby

相關文章