Project

General

Profile

Actions

Bug #20952

closed

A weird error message for []= with keyword arguments

Added by zverok (Victor Shepelev) 5 days ago. Updated 5 days ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:120233]

Description

Trying to document the new deprecation of #[]= with keyword arguments, I wrote this sample code:

class MyMatrix
  # ...some implementation

  def []=(*args, **kwargs)
    p(args:, kwargs:)
    # ...some implementation
  end
end

matrix = MyMatrix.new
matrix[5, axis: :y] = 8

This fails as expected, but the error message is totally unexpected for me:

ruby3_4.rb:11:in '<main>': undefined method '[]=' for an instance of Integer (NoMethodError)

matrix[5, axis: :y] = 8
      ^^^^^^^^^^^^^^^

Am I missing some interpretation peculiarity here?..

$ ruby -v
ruby 3.4.0dev (2024-12-11T19:50:20Z master 34e68548d4) +PRISM [x86_64-linux]
Actions

Also available in: Atom PDF

Like0
Like1Like0Like0Like0Like0