From: "ttanimichi (Tsukuru Tanimichi) via ruby-core" Date: 2023-06-14T07:35:16+00:00 Subject: [ruby-core:113903] [Ruby master Bug#19731] Can’t call an instance method inside an Endless method definition Issue #19731 has been reported by ttanimichi (Tsukuru Tanimichi). ---------------------------------------- Bug #19731: Can���t call an instance method inside an Endless method definition https://bugs.ruby-lang.org/issues/19731 * Author: ttanimichi (Tsukuru Tanimichi) * Status: Open * Priority: Normal * ruby -v: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- Can���t call an instance method inside an Endless method definition. ``` $ ruby -v ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22] $ cat withend.rb class A def show puts 'ok' if params end def params 42 end end A.new.show $ ruby withend.rb ok $ cat endless.rb class A def show = puts 'ok' if params def params 42 end end A.new.show $ ruby endless.rb endless.rb:2:in `': undefined local variable or method `params' for A:Class (NameError) def show = puts 'ok' if params ^^^^^^ from endless.rb:1:in `
' exit status: 1 ``` But, the example below works fine. Is this an expected behavior? ``` $ cat endless2.rb class A def show = puts params def params 42 end end A.new.show $ ruby endless2.rb 42 ``` -- 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/postorius/lists/ruby-core.ml.ruby-lang.org/