TJMarkdownPaste is a Markdown bloggin service with Tex mathematical syntax and automatic code highlight...
繼續閱讀右手寫程式,左手寫音樂
TJMarkdownPaste is a Markdown bloggin service with Tex mathematical syntax and automatic code highlight...
繼續閱讀We engineers always hate repeating doing the same thing.
Take me for instance, everytime I create a new rails project, I edit GemFile
to install lots of useful gems such as devise
, carrierwave
, etc, and then download Twitter Bootstrap with newest version, extract it into vendor/assets/images
, vendor/assets/javascripts
and vendor/assets/stylesheets
, finally, replace ../img/xxx.png
into xxx.png
in bootstrap.css
and bootstrap.min.css
.
My template does two things:
Automatically install the following gems:
Download Twitter Boostrap with the newest version, and correspondingly extract files into vendor/assets/
rails new myapp -m=https://raw.github.com/gist/4010690
Alternatively, if you encounter some SSL problem during the previous command, please download the file directly and run:
rails new myapp -m=filename
繼續閱讀
今天心血來潮在 RubyGems 搜尋了一下看有沒有可用的 N-Grams library,確實也給我找到幾個,但可惜的是他們只有針對英文做斷詞,沒有針對中日韓。我們可想像的到英文的斷詞和中文的斷詞是截然不同的,但現在許多文章卻又中英日混雜,面對這種文章,那些 library 起不了什麼作用。
於是用下午的時間我就自己寫了一個來解決這類的問題:
繼續閱讀今天在寫學長託付的 API Server 時,突然對 controller 中用到的 params 變數感到好奇,我想知道為什麼 params[:id]
和 params["id"]
都可以 access 同一份資料,於是展開了 trace code 奇幻之旅。
我臨時寫了一個程式,先 trace...
繼續閱讀Ruby 可將程式碼當參數傳遞,被參數化的程式碼稱為 Block。也就是呼叫方法時後面的 {|| }
符號,其中的 ||
之間放置參數列宣告,若無參數則可省略。
Ruby 的 Proc 類似 ECMAScript 的 function。在 ECMAScript 中使用關鍵字 function 即可配置一個 Function 物件。Ruby 則使用 Kernel::proc、Kernel::lambda 方法(但兩者有些微差異),或是直接建構一個 Proc 物件(Proc.new)。
Ruby 會主動將 Block 參數化成 Proc,Block 無法單獨存在,只能作為 Ruby 指令或呼叫方法時的引數。僅需利用流程指令 yield 即可將流程轉移到被參數化的 Block 中運行。我們可以用 Kernel::block_given? 判斷使用者有無傳遞 Block。
繼續閱讀