gpt4 book ai didi

ruby-on-rails - 在 Ruby 或 Rails 中,为什么 "include"有时在类内有时在类外?

转载 作者:数据小太阳 更新时间:2023-10-29 06:41:19 25 4
gpt4 key购买 nike

我以为

class ApplicationController < ActionController::Base
include Foo

是添加一个“mixin”——这样 Foo 模块中的所有方法都被视为 ApplicationController 的方法。

但现在我看到的代码是

include Bar

class ApplicationController < ActionController::Base
include Foo

那么为什么它在 ApplicationController 之外呢?这与将它放在 ApplicationController 中的更常见用法有何不同?

最佳答案

是的,include Foo inside a class 将 Foo 添加到该类的祖先,从而使所有 Foo 的实例方法都可用于实例那些类。

在任何类定义之外 include Foo 会将 Foo 添加到 Object 的祖先。 IE。这与在 Object 类的定义中执行 include Foo 是一样的。这样做的好处是 Foo 的所有实例方法现在随处可用。

关于ruby-on-rails - 在 Ruby 或 Rails 中,为什么 "include"有时在类内有时在类外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5161428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com