Method: Code::Object::List#code_max_by

Defined in:
lib/code/object/list.rb

#code_max_by(argument, **globals) ⇒ Object



339
340
341
342
343
344
345
346
347
348
349
350
# File 'lib/code/object/list.rb', line 339

def code_max_by(argument, **globals)
  code_argument = argument.to_code

  raw.max_by.with_index do |code_element, index|
    code_argument.call(
      arguments: List.new([code_element, Integer.new(index), self]),
      **globals
    )
  rescue Error::Next => e
    e.code_value
  end || Nothing.new
end