Skip to content

Instantly share code, notes, and snippets.

@kooyeed
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kooyeed/e7f3ad23de7573723bc1 to your computer and use it in GitHub Desktop.
Save kooyeed/e7f3ad23de7573723bc1 to your computer and use it in GitHub Desktop.
学习Ruby on Rails(1)
1. 安装
每次安裝時,加上以下參數:
$ gem install gem_name --no-ri --no-rdoc
或是新增一個~/.gemrc檔案內容如下,預設就不產生文件:
gem: --no-ri --no-rdoc
Linux的使用者需要加上sudo,例如sudo gem install gemname。
安裝Ruby on Rails
首先是SQLite的Adapter:
$ gem install sqlite3 --no-ri --no-rdoc
最後是安裝Rails了:
$ gem install rails --no-ri --no-rdoc
2.对于没有内容的类定义,尽可能使用单行类定义形式.
# bad
class FooError < StandardError
end
# okish
class FooError < StandardError; end
# good
FooError = Class.new(StandardError)
3. 从来不要使用 for, 除非你知道使用它的准确原因。大多数时候迭代器都可以用来替for。for 是由一组 each 实现的 (因此你正间接添加了一级),但是有一个小道道 - for并不包含一个新的 scope (不像 each)并且在它的块中定义的变量在外面也是可以访问的。
arr.each { |elem| puts elem }
4. 布尔表达式使用&&/||, and/or用于控制流程。(经验Rule:如果你必须使用额外的括号(表达逻辑),那么你正在使用错误的的操作符。)
5.避免使用 Perl 的指定变量风格(比如,$:,$; 等等。)。它们相当神秘,不鼓励在单行代码之外使用它们。
使用 English 库提供的友好别名。
# bad
$:.unshift File.dirname(__FILE__)
# good
require 'English'
$LOAD_PATH.unshift File.dirname(__FILE__)
6. 模块的原理需要搞清楚
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment