iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
自我挑戰組

Metaprogramming Ruby and Rails 系列

本次參賽的內容將分為2部曲:

前半部:分享 “Metaprogramming Ruby” 書中的觀念及綜合網路上的相關資訊,探討Ruby裡的黑魔法。

後半部:實作 Rail 相關的主題

鐵人鍊成 | 共 33 篇文章 | 11 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 -- Dynamic Methods Part I

Dynamic Methods "Where you learn how to call and define methods dynamicall...

2020-09-26 ‧ 由 kevin0117 分享
DAY 12

Day 12 -- Dynamic Methods Part II

Defining Methods Dynamically " Dynamic method is the technique of defining...

2020-09-27 ‧ 由 kevin0117 分享
DAY 13

Day 13 -- Method Missing In Ruby

還記得幾天前提過的 "method lookup" 嗎?有沒有想過當不存在的方法被呼叫時,Ruby 的方法查詢流程是會變得怎麼樣呢?今天就要...

2020-09-28 ‧ 由 kevin0117 分享
DAY 14

Day 14 -- Blocks in Ruby Part I

"Blocks are powerful tool for controlling scope, meaning which variables a...

2020-09-29 ‧ 由 kevin0117 分享
DAY 15

Day 15 -- Blocks in Ruby Part II

Scope Gates Scope gate 可以想像為柵欄,因為柵欄讓作用域分隔兩邊的變數既不看見彼此,也無法互通。在 Ruby 裡有三個主要的 scope...

2020-09-30 ‧ 由 kevin0117 分享
DAY 16

Day 16 -- Callable Object: Proc 、Lambda 、Method

" Blocks are used for passing blocks of code to methods, and procs and lam...

2020-10-01 ‧ 由 kevin0117 分享
DAY 17

Day 17 -- Instance_eval VS Class_eval

"Where you learn another way to mix code and bindings at will" from M...

2020-10-02 ‧ 由 kevin0117 分享
DAY 18

Day 18 -- Around Aliases

Around Aliases 在 Ruby 的世界裡,你可以使用 Module#alias_method 幫方法取一個新的別名。從 Ruby 的官方文件可以得知...

2020-10-03 ‧ 由 kevin0117 分享
DAY 19

Day 19 -- Refinement

What is Refinement ? 還記得 Open Classes 可能會造成的問題嗎?當我們利用開放類別的特性,覆寫了類別內原有的方法,就會造成了全域...

2020-10-04 ‧ 由 kevin0117 分享
DAY 20

Day 20 -- Refinement Wrapper & Prepended Wrapper

Refinement Wrapper 昨天我們學到了 Refinement 如何利用 using 關鍵字,來控制覆寫方法可影響的範圍。今天要介紹 Refinem...

2020-10-05 ‧ 由 kevin0117 分享