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)> ...
繼續閱讀