Вопросы по теме 'splat'

Почему знак здесь используется внутри определения массива?
def initialize(apps, catch=404) @apps = []; @has_app = {} apps.each { |app| add app } @catch = {} [*catch].each { |status| @catch[status] = true } end В этом методе из Rack::Cascade , что для чего служит splat(*) в коде [*catch] ?...
264 просмотров
schedule 02.08.2022

Аргументы splat сопоставляются с параметрами метода
Мы создаем метод с разбросанными аргументами и вызываем для него Method#parameters : def splatter(x, *y, z); end params = method(:splatter).parameters # => [[:req, :x], [:rest, :y], [:req, :z]] Я ищу функцию f , которая будет...
817 просмотров
schedule 20.04.2024

Изменить то, что операторы *splat и **splatty-splat делают с моим объектом
Как переопределить результат распаковки синтаксиса *obj и **obj ? Например, можно ли как-то создать объект thing , который ведет себя так: >>> [*thing] ['a', 'b', 'c'] >>> [x for x in thing] ['d', 'e', 'f'] >>>...
2632 просмотров

Почему процессы/блоки Ruby с аргументами splat ведут себя не так, как методы и лямбда-выражения?
Почему процессы/блоки Ruby (2.0) с аргументами splat ведут себя не так, как методы и лямбда-выражения? def foo (ids, *args) p ids end foo([1,2,3]) # => [1, 2, 3] bar = lambda do |ids, *args| p ids end bar.call([1,2,3]) # => [1, 2, 3]...
2487 просмотров
schedule 26.11.2022