Metaprogramming ਅਜਿਹਾ code ਲਿਖਣਾ ਹੈ ਜੋ runtime ਤੇ code ਨੂੰ ਲਿਖਦਾ ਜਾਂ modify ਕਰਦਾ ਹੈ — methods ਨੂੰ dynamically define ਕਰਨਾ, undefined methods ਦਾ جواب ਦੇਣਾ, ਅਤੇ classes ਨੂੰ inspect/alter ਕਰਨਾ। Ruby ਦੀ dynamic ਪ੍ਰਕਿਰਿਆ (ਸਭ ਕੁਝ ਇੱਕ object ਹੈ, classes ਸਮੇਤ) ਇਸਨੂੰ metaprogramming ਲਈ ਬਹੁਤ ਵਧੀਆ ਬਣਾਉਂਦੀ ਹੈ, ਜੋ Rails ਦਾ ਬਹੁਤ ਸਾਰਾ "magic" ਚਲਾਉਂਦੀ ਹੈ।
Methods ਨੂੰ dynamically define ਕਰਨਾ
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
