这还不是一个块,但这是一种什么样的构造?

时间:2018-11-06 03:41:32

标签: ruby

我正在阅读Rails代码库,并且注意到https://github.com/rails/rails/blob/b2eb1d1c55a59fee1e6c4cba7030d8ceb524267c/activemodel/test/cases/serialization_test.rb#L92

中的这段代码
 def test_should_use_read_attribute_for_serialization
    def @user.read_attribute_for_serialization(n)
      "Jon"
    end

    expected = { "name" => "Jon" }
    assert_equal expected, @user.serializable_hash(only: :name)
  end

基于测试和正在发生的事情,似乎在运行时重新定义了实例read_attribute_for_serialization上的方法@user。这个叫什么?这是如何运作的?我在哪里可以阅读有关此行为的更多信息,并且该语言允许这样做?

0 个答案:

没有答案