1.ruby編碼安全
ruby使用ASCII編碼來讀源碼,中文會出現亂碼ruby
解決方法:# -*- coding: UTF-8 -*- 或者 #coding=utf-8測試
2.ruby命令行選項ui
格式:$ ruby [ options ] [ . ] [ programfile ] [ arguments ... ]編碼
-a : 與-n 或 -p 一塊兒使用時,能夠打開自動拆分模式(auto split mode)命令行
-c :只檢查語法,不執行程序debug
-C dir :在執行前改變目錄,等價於-Xunix
-d :啓用調試模式,等價於-debug調試
-F pat :指定pat做爲默認的分離模式code
-e prog :指定prog做爲程序在命令中執行。能夠指定多個-e選項,用來執行多個程序
-h :顯示命令行選項的一個概覽
-i [ext] : 把文件內容重寫爲程序輸出,原始文件會被加上擴展名ext保存下來。若是未指定ext,原始文件會被刪除
-l dir : 添加dir做爲加載庫的目錄
-K [kcode] : 指定多字節字符集編碼。e 或 E 對應 EUC(extended unix code),s或S對應SJIS(Shift-JIS),u或U對應UTF-8,a、A、n或N對應ASCII
-l : 啓用自動行尾處理。從輸入行取消一個換行符,並向輸出行追加一個換行符。
-n : 把代碼放置在一個輸入循環中,就像在while gets;... end中同樣
-0[octal] : 設置默認的記錄分隔符($/)爲八進制,若是未指定octal則默認爲\0
-p : 把代碼放置在一個輸入巡皇中,在每次迭代後輸出變量 $_的值
-r lib : 使用require來加載lib做爲執行前的庫
-s : 解讀程序名稱和文件名稱參數之間的匹配模式 -xxx 的任何參數做爲開關,並定義相應的變量
-T [level] : 設置安全級別,執行不純度測試,若是未指定level,則默認值爲1
-v : 顯示版本,並啓用冗餘模式
-w :啓用冗餘模式,若是未指定程序文件,則從STDIN讀取
-x [dir] : 刪除 #!ruby 行以前的文本。若是指定了dir,則把目錄改變爲dir
-X dir : 在執行前改變目錄,等價於-C
-y :啓用解析器調試模式
--copyright :顯示版權聲明
--debug : 啓用調試模式,等價於-d
--help : 顯示命令行選項的一個概覽,等價於-h
--version :顯示版本
--verbose : 啓用冗餘模式,等價於-v,設置$VERBOSE爲true
--yydebug : 啓用解析器調試模式,等價於-y
單字符的命令行選項能夠組合使用,下面兩行表達了一樣的意思:
$ ruby -ne 'print if /Ruby/' /usr/share/bin
$ ruby -n -e 'print if /Ruby/' /usr/share/bin