From: "mame (Yusuke Endoh) via ruby-core" Date: 2025-02-25T10:17:59+00:00 Subject: [ruby-core:121158] [Ruby master Misc#21154] Document or change Module#autoload? Issue #21154 has been updated by mame (Yusuke Endoh). > Should that second line always return "foo"? No, not necessarily. The document says "if name is registered as autoload". And the document of Kernel#autoload says "If const is defined but not as autoload, does nothing." Thus, there is no guarantee that your second line will always return `"foo"`. I assume you have https://bugs.ruby-lang.org/issues/21035#note-3 in mind. IMO, in your case, the situation could be considered equivalent to the ���If const is defined but not as autoload, does nothing.��� case. Therefore, I don't think it is surprising that `autoload?` returns `nil`. So should the documentation be updated? I personally think that is not necessary either. Documentation is documentation, not a spec. I think it is more useful to have a simple description of typical behavior and usage. Currently, I feel the document is good enough. I admit people may have different opinions here, though. I think what you should do is not arguing about consistency with the documentation, but rather briefly explaining your purpose and why the current behavior is troubling against it. ---------------------------------------- Misc #21154: Document or change Module#autoload? https://bugs.ruby-lang.org/issues/21154#change-112098 * Author: fxn (Xavier Noria) * Status: Open ---------------------------------------- The documentation of `Module#autoload?` says > Returns filename to be loaded if name is registered as autoload in the namespace of mod or one of its ancestors. Cool, but in the following snippet ```ruby autoload :Foo, 'foo' autoload?(:Foo) ``` the second line could evaluate to `nil`, and this does not seem to agree. I just registered an autoload, therefore (according to the documentation) I should get "foo" back in line 2. I'd like to ask for clarification from the Ruby team: 1. Is the documentation complete? Should that second line always return "foo"? 2. If the answer is no, which is the logic missing in the docs? Thank you! -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/