cost 263 ms
在不同對象之間傳遞過程

[英]Passing around procs between different objects

我正在嘗試進行以下工作,但顯然我遺漏了一些東西: class Person def fetch puts 'Fetch it boy!' end def action(data) data.call end end class Animal def play ...

為什么要使用“ instance_eval”而不是創建方法?

[英]Why use 'instance_eval' instead of creating a method?

這是一個代碼示例: 為什么我們使用instance_eval創建方法( book_name )而不是在Book類中添加book_name方法? 在上述情況下,使用instance_eval創建的方法( book_name )僅可由對象b訪問。 有沒有特定的用例? ...

Ruby DSL - 在塊上下文中調用用戶提供的方法

[英]Ruby DSL - invoking user-provided methods within block context

我的Ruby DSL的用戶希望能夠添加其他方法並在任意塊的上下文中調用它們,例如: 在此示例中,“override”是使用instance_eval調用的配置對象的方法。 有沒有辦法強制在配置塊的上下文中執行任何方法調用,以便例如可以解析並執行'覆蓋'? [編輯] 所以 ...

深入了解Ruby class_eval和instance_eval

[英]Deep into Ruby class_eval and instance_eval

在諸如定義方法之類的情況下, class_eval和instance_eval是完全可以預測的。 我也了解類的實例和類的單例(也稱為本征類)之間的區別。 但 我無法弄清楚像下面這樣的唯一事情:假設出於某種目的,我們希望使現有類成為單例。 在兩種情況下都 是的,我的意 ...

使用 instance_eval 進行 Ruby 改進

[英]Ruby refinements with instance_eval

我想對 DSL 進行一些改進。 我可以使用此示例進行改進: 這會打印出“數組!” 正好。 但是一旦我引入了instance_eval ,就找不到該方法: 我為 [1]:Array (NoMethodError)` 得到了一個undefined method 有沒有辦法在 instance_ ...

如何重構多次使用“ instance_exec”的代碼?

[英]How do I refactor code that uses `instance_exec` several times?

我正在上一個使用Prawn gem生成PDF的類。 我有一些類似的方法。 所有這些都從同一行開始。 這是代碼: 有沒有一種方法可以避免在每個方法中使用@output.instance_exec並使用類似塊的方法? 我嘗試過,但無法正常工作。 我可以做這樣的事情嗎? 我應 ...

instance_eval 中的define_method

[英]define_method inside instance_eval

當我在 instance_eval 塊中為類定義一個方法時,它會創建一個很好的類方法。 例如) 但是當我在 instance_eval 中使用 define_method 時,它會創建實例方法而不是類方法 例如) 我無法理解上述現象。 請有人可以幫助我。 ...

帶有instance_eval的Ruby塊范圍

[英]Ruby Block Scope with instance_eval

我對Ruby塊和觸發器的理解是它們都是閉包。 現在我已經看到它與instance_eval一起使用,我有點困惑。 什么是魔術醬,在查看裸機時的工作量不足,與使用instance_eval相比,它改變了塊在大多數常見用途下的作用范圍? 以下是您可以在IRB中轉儲以查看我的意思的示例。 ...

instance_eval在實例方法中的行為

[英]instance_eval's behaviour inside a instance method

以下是我嘗試過的片段, 在這里,我使用instance_eval和define_method動態地將方法添加到Person類。 但是,為什么這表現為實例方法呢? 那完全取決於自己嗎? 困惑。 任何人都可以解釋我或參考鏈接也贊賞。 ...

Instance_eval無權訪問模塊中的類

[英]Instance_eval doesn't have access to class in module

我遇到了instance_eval和模塊包含的問題。 請看下面的代碼: 當我運行此代碼時,我得到了 我知道它與綁定以及方法和對象如何綁定到類有關。 我無法理解的是,為什么我在A訪問C ,但在我評估block時卻沒有。 我希望它們在同一范圍內。 謝謝! ...

Ruby:正確使用Lambdas

[英]Ruby: Properly using Lambdas

在開始之前,我嘗試擺弄instance_eval和單例方法無濟於事。 我將提出我對問題的“最佳”嘗試。 我正在嘗試執行以下操作: 上述調用無法更改。 可以更改的是規則的定義方式: 我不確定如何獲取lambda代碼塊以獲取某些值。 任何幫助或指向正確方向將不勝感激! ...

send和instance_eval之間的Ruby差異?

[英]Ruby difference between send and instance_eval?

我知道send接受帶有參數的字符串或符號,而instance_eval接受字符串或塊,並且給定接收器它們的區別可能很明顯。 我的問題是下面的例子中“引擎蓋下 ”的區別是什么? ...

module_eval / class_eval / instance_eval如何計算行號

[英]How does module_eval / class_eval / instance_eval counts the line numbers

我發現傳遞給class_eval的line_number, module_eval和instance_eval與錯誤報告的行號不匹配。 ruby-doc沒有解釋此行為,它說:(以instance_eval為例) 可選的第二和第三個參數提供了在報告編譯錯誤時使用的文件名和起始行號。 ...

帶有attr_accessor的類上的Ruby instance_eval

[英]Ruby instance_eval on a class with attr_accessor

我理解instance_eval和class_eval之間的基本區別。 我在玩游戲時發現的東西是涉及到attr_accessor奇怪之attr_accessor 。 這是一個例子: 怎么樣: instance_eval沒有在我們的A類(對象)的訪問器上 然后它實際上 ...

猴子在有限范圍內修補內置的紅寶石類

[英]Monkey patching built-in ruby classes in limited scopes

我正在開發內部Ruby DSL,並且要使其看起來盡可能漂亮,我需要對Symbol類進行猴子補丁並添加一些運算符。 我想對執行此操作負責,並希望將補丁的范圍和生存期限制為特定的代碼塊。 是否有執行此操作的標准模式? 這是一些偽代碼來顯示我的想法: 結束 ...

class_eval vs instance_eval

[英]class_eval vs instance_eval

除了def之外, class_eval和instance_eval工作方式有什么不同嗎? 在class_eval塊內部, def定義了類本身的方法(即實例方法),而在instance_eval def定義了類的本征類的方法(即類方法)。 AFAIK所有其他功能在兩種情況下都相同(例如defi ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM