![](/img/trans.png)
[英]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 ...
[英]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 ...
[英]Why use 'instance_eval' instead of creating a method?
這是一個代碼示例: 為什么我們使用instance_eval創建方法( book_name )而不是在Book類中添加book_name方法? 在上述情況下,使用instance_eval創建的方法( book_name )僅可由對象b訪問。 有沒有特定的用例? ...
[英]Ruby DSL - invoking user-provided methods within block context
我的Ruby DSL的用戶希望能夠添加其他方法並在任意塊的上下文中調用它們,例如: 在此示例中,“override”是使用instance_eval調用的配置對象的方法。 有沒有辦法強制在配置塊的上下文中執行任何方法調用,以便例如可以解析並執行'覆蓋'? [編輯] 所以 ...
[英]Deep into Ruby class_eval and instance_eval
在諸如定義方法之類的情況下, class_eval和instance_eval是完全可以預測的。 我也了解類的實例和類的單例(也稱為本征類)之間的區別。 但 我無法弄清楚像下面這樣的唯一事情:假設出於某種目的,我們希望使現有類成為單例。 在兩種情況下都 是的,我的意 ...
[英]Ruby refinements with instance_eval
我想對 DSL 進行一些改進。 我可以使用此示例進行改進: 這會打印出“數組!” 正好。 但是一旦我引入了instance_eval ,就找不到該方法: 我為 [1]:Array (NoMethodError)` 得到了一個undefined method 有沒有辦法在 instance_ ...
[英]How do I refactor code that uses `instance_exec` several times?
我正在上一個使用Prawn gem生成PDF的類。 我有一些類似的方法。 所有這些都從同一行開始。 這是代碼: 有沒有一種方法可以避免在每個方法中使用@output.instance_exec並使用類似塊的方法? 我嘗試過,但無法正常工作。 我可以做這樣的事情嗎? 我應 ...
[英]Shortest code for getting all K-item combinations of N-item array, where K <= N
獲取K <= N的N個項目數組的所有K個項目組合的最短方法是什么? 我設法寫下以下內容: 任何想法如何擺脫“ instance_eval”? 似乎不是很愚蠢:\\ ...
[英]define_method inside instance_eval
當我在 instance_eval 塊中為類定義一個方法時,它會創建一個很好的類方法。 例如) 但是當我在 instance_eval 中使用 define_method 時,它會創建實例方法而不是類方法 例如) 我無法理解上述現象。 請有人可以幫助我。 ...
[英]Ruby Block Scope with instance_eval
我對Ruby塊和觸發器的理解是它們都是閉包。 現在我已經看到它與instance_eval一起使用,我有點困惑。 什么是魔術醬,在查看裸機時的工作量不足,與使用instance_eval相比,它改變了塊在大多數常見用途下的作用范圍? 以下是您可以在IRB中轉儲以查看我的意思的示例。 ...
[英]instance_eval's behaviour inside a instance method
以下是我嘗試過的片段, 在這里,我使用instance_eval和define_method動態地將方法添加到Person類。 但是,為什么這表現為實例方法呢? 那完全取決於自己嗎? 困惑。 任何人都可以解釋我或參考鏈接也贊賞。 ...
[英]Instance_eval doesn't have access to class in module
我遇到了instance_eval和模塊包含的問題。 請看下面的代碼: 當我運行此代碼時,我得到了 我知道它與綁定以及方法和對象如何綁定到類有關。 我無法理解的是,為什么我在A訪問C ,但在我評估block時卻沒有。 我希望它們在同一范圍內。 謝謝! ...
[英]Ruby: Properly using Lambdas
在開始之前,我嘗試擺弄instance_eval和單例方法無濟於事。 我將提出我對問題的“最佳”嘗試。 我正在嘗試執行以下操作: 上述調用無法更改。 可以更改的是規則的定義方式: 我不確定如何獲取lambda代碼塊以獲取某些值。 任何幫助或指向正確方向將不勝感激! ...
[英]Ruby difference between send and instance_eval?
我知道send接受帶有參數的字符串或符號,而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為例) 可選的第二和第三個參數提供了在報告編譯錯誤時使用的文件名和起始行號。 ...
[英]How to pass a method to instance_eval?
我想在此類上調用instance_eval : 通過此方法b : 但這正在發生: 當b是一個塊時,它可以工作,但是b作為一種方法不起作用。 我該如何運作? ...
[英]Ruby instance_eval on a class with attr_accessor
我理解instance_eval和class_eval之間的基本區別。 我在玩游戲時發現的東西是涉及到attr_accessor奇怪之attr_accessor 。 這是一個例子: 怎么樣: instance_eval沒有在我們的A類(對象)的訪問器上 然后它實際上 ...
[英]Why does instance_eval handle direct accessors in a special way?
為什么以下代碼不會引發錯誤: 盡管以下內容會引發您所期望的NameError: 即使這樣也會引發錯誤: 我已經在1.8.7-p352和1.9.3-p194上嘗試過,結果相同。 ...
[英]Monkey patching built-in ruby classes in limited scopes
我正在開發內部Ruby DSL,並且要使其看起來盡可能漂亮,我需要對Symbol類進行猴子補丁並添加一些運算符。 我想對執行此操作負責,並希望將補丁的范圍和生存期限制為特定的代碼塊。 是否有執行此操作的標准模式? 這是一些偽代碼來顯示我的想法: 結束 ...
[英]class_eval vs instance_eval
除了def之外, class_eval和instance_eval工作方式有什么不同嗎? 在class_eval塊內部, def定義了類本身的方法(即實例方法),而在instance_eval def定義了類的本征類的方法(即類方法)。 AFAIK所有其他功能在兩種情況下都相同(例如defi ...
[英]instance_eval doesn't work with att_accessor?
誰能說我,為什么這樣不起作用: 我在做什么錯? ...