Ruby - 讓 irb 更好用

前言在使用pry的時候我們可以回到上一個輸入的指令,擁有記錄指令歷史的功能。其實irb也可以! 開始修改修改~/.irbrc 123require 'irb/ext/save-history'IRB.conf[:SAVE ...
繼續閱讀

Ruby metaprogramming - Open Class and Refine

簡介Open Class 是 Ruby 常用的技巧,指的是我們可以覆寫已經存在的方法,來修改物件或類別的行為。在這邊我沒有要講詳細的作法,要介紹的是在 Ruby 2.0 中新增的 refine RefineRefine 是 ruby 2.0 ...
繼續閱讀
Ruby metaprogramming - Method Lookup

Ruby metaprogramming - Method Lookup

介紹ruby metaprogramming 這本書除了教如何用 ruby 來生成其他的程式語言外,對語言特性的描述是比較深入的。因此在研讀這本書的同時,記錄下一些我覺得重要的部份。這些筆記不會依照章節的順序性。而是隨機記錄我需要的部分。 ...
繼續閱讀

Ruby - 爬網頁時遇到的編碼錯亂問題

問題描述編碼問題是寫爬蟲常會遇到的問題。當你沒有處理好編碼問題,爬回來的網頁無法進行字串的切割,也無法使用 nokogiri 抽離需要的部份。 解決方法 找到原始網頁的編碼chartset='big' 把網頁 force_e ...
繼續閱讀

Ruby - 利用 ARGV 特性執行指定的方法

情境我想手動執行 class 的某個方法。這邊的例子是當我想移動的時候,我可以選擇走路、跑步或是游泳。 方法一: 在 irb 中引入 Ruby 檔123456789101112131415class Move def self.walki ...
繼續閱讀

Ruby 爬蟲小技巧 - 處理 Html Entity

這是一個在工作上遇到的小問題。把網頁爬回來的時候有 HTML Entity 的編碼,看起來很不美觀。舉例來說,爬回來的標題如果含有 HTML Entity 會是這個樣子: 1PURUS空氣清淨器(鴻海集團創星出品&# ...
繼續閱讀

Ruby中冒號開頭Symbol與&:to_s用法解釋

本篇介紹Ruby中特有的寫法,將解答&:to_s和:symbol這兩種寫法的意義。並依序介紹以下議題: Symbol和String的不同之處分別宣告兩個symbol與string。 12345678[22] pry(main)> ...
繼續閱讀

Ruby bits ( 6 ):Blocks 學習筆記

不得不再說一次,這些主題都超級重要,不先學Ruby直接學Rails感覺很卡。果然要從基礎開始打才是王道。在看這篇之前請先看完method / block / yield / Proc / lambda,很多觀念都是從這邊的延伸。 conve ...
繼續閱讀

Ruby bits ( 5 ):Modules

Ruby bits的課程真的很不錯,講到的主題都是很重要的東西。有點相見恨晚的感覺,趕快把它做完吧! 本節學習目標 module activesupport ::Concern 了解self的意義 part1: moduleclass m ...
繼續閱讀
Ruby bits ( 4 ):ActiveSupport
Ruby bits ( 3 ):Class

Ruby bits ( 3 ):Class

上一個禮拜想要嘗試更多的動手記憶,經過實驗證明,還是需要筆記的輔助反覆記憶會比較好。經過這次的練習之後會更注重學習本身的強度。 ENCAPSULATION封裝跟物件本身有關的method,使用class會比使用許多的method來的好。 V ...
繼續閱讀
Ruby bits ( 2 ) : Methods and Classes

Ruby bits ( 2 ) : Methods and Classes

Hash Argument每一個不同的欄位就多一個 argument不是個好方法,會造成很多欄位空在那邊。用 Hash argument 來解決這個問題。使用方法,因為 hash 是由 key-value 所組成,所以可以把需要的屬性設成 ...
繼續閱讀
Ruby bits ( 1 ) : Expression

Ruby bits ( 1 ) : Expression

UnlessUnless is more intuitive用 unless 代替 if! 更加直覺 Unless with else is confusingunless 和 else 一起用的時候令人困惑 ...
繼續閱讀