From: "matz (Yukihiro Matsumoto) via ruby-core" Date: 2023-12-20T07:59:54+00:00 Subject: [ruby-core:115805] [Ruby master Bug#20063] Inconsistent behavior with required vs optional parameters Issue #20063 has been updated by matz (Yukihiro Matsumoto). Status changed from Open to Rejected This situation arises due to the absence of a duplicate check, since the variable name is prefixed with `_`. I believe such cases should be treated as undefined behavior. Matz. ---------------------------------------- Bug #20063: Inconsistent behavior with required vs optional parameters https://bugs.ruby-lang.org/issues/20063#change-105754 * Author: jemmai (Jemma Issroff) * Status: Rejected * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- Using repeated anonymous parameters, gives different behavior with the parameters in the same order based on whether they are required or optional. ``` def example_with_optional(_a = 1, _a = 2) _a end def example_with_required(_a, _a) _a end p example_with_optional # 2 p example_with_required(1, 2) # 1 ``` It is unexpected that these two methods would return differently given the parameters are in the same order, based on whether they are optional or required. -- 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/