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

При чем здесь шлепок?
match, text, number = *"foobar 123".match(/([A-z]*) ([0-9]*)/) Я знаю, что это какое-то соответствие регулярному выражению, но какую роль здесь играет знак, и есть ли способ сделать это без знака, чтобы это было менее запутанным?
699 просмотров
schedule 08.07.2023

Зачем вызывать apply вместо прямого вызова функции?
Глядя на исходный код raphael, g.raphael или других библиотек, я заметил, что разработчик делает что-то вроде этого: var val = Math.max.apply(Math, data_array); Почему бы просто не вызвать функцию напрямую, например: var val =...
2930 просмотров
schedule 03.07.2023

Как передать массив методу, который принимает атрибут с оператором знака?
Если у меня есть метод вроде: def sum *numbers numbers.inject{|sum, number| sum += number} end Как я могу передать массив в виде чисел? ruby-1.9.2-p180 :044 > sum 1,2,3 #=> 6 ruby-1.9.2-p180 :045 > sum([1,2,3]) #=> [1,...
2233 просмотров
schedule 08.02.2023

Как установить значение по умолчанию для аргумента знака в Ruby
Установка значения по умолчанию для аргумента splat приводит к ошибке: 1.9.3-p374 :001 > def a b, *c = nil 1.9.3-p374 :002?> end SyntaxError: (irb):1: syntax error, unexpected '=', expecting ';' or '\n' def a b, *c = nil ^...
4218 просмотров
schedule 20.09.2023

Почему аргумент splat в ruby ​​не используется постоянно?
Я знаю, что аргументы splat используются, когда мы не знаем количество аргументов, которые будут переданы. Я хотел знать, должен ли я использовать splat все время. Существуют ли какие-либо риски при использовании аргумента splat всякий раз, когда я...
6302 просмотров
schedule 09.02.2024

Сплат в нефинальном положении
Для следующего метода def mixed_args(a,b,*c,d) puts a,b,c,d end p mixed_args(1,2,3,4,5) Я получаю это сообщение об ошибке: синтаксическая ошибка, неожиданный tIDENTIFIER, ожидание tAMPER или '&' Не подскажете, какой информации...
59 просмотров
schedule 13.07.2022

объединить с splat ruby
скажи, что у меня есть arr = [1,2,3] Как я могу изменить этот метод, чтобы он добавлял каждый аргумент в массив? def add(*number) arr << *number end Итак, add(4,5,6) производит: arr #=> [1,2,3,4,5,6]
357 просмотров
schedule 13.07.2022

Почему это использование метода Hash#each работает только тогда, когда я удаляю оператор splat из параметра?
У меня проблема с Ruby Monk, https://rubymonk.com/learning/books/1-ruby-primer/problems/155-restaurant#solution4804 Их решение великолепно; Мне нравится, компактнее моего. Проблема у меня, я просто не понимаю, почему это работает только тогда,...
158 просмотров
schedule 05.04.2023

Передача знака nil в качестве аргумента
Все значения для b ниже позволяют мне вызывать метод с синтаксисом *args . def some_method(a) puts a end b = 1 some_method(*b) # => 1 b = false some_method(*b) # => false b = "whatever" some_method(*b) # => "whatever" С nil...
656 просмотров
schedule 28.11.2022

Ruby rubocop: как заморозить константу массива, сгенерированную с помощью splat
Я назначаю константу массива следующим образом: NUMS = *(2..9) Рубокоп говорит C: заморозить изменяемые объекты, назначенные константам. NUMS = *(2..9) ^^^^^ Поэтому я пытаюсь NUMS = *(2..9).freeze Рубокоп говорит C:...
2359 просмотров
schedule 11.06.2023

Ruby: Как убрать предупреждение: `*' интерпретируется как префикс аргумента?
Как я могу удалить "предупреждение: `*' интерпретируется как префикс аргумента" из следующего кода? hash = {"a" => 1, "b" => 2, "s" => 3,} if "string".start_with? *hash.keys then puts "ok" else puts "ng" end...
1887 просмотров
schedule 06.04.2024

Ruby - метод расширения с помощью super с помощью знака
В электронной книге Комплексный курс программирования на Ruby описан случай, когда метод дочернего класса расширяет метод родительского. Я не совсем понимаю, как это работает: class Parent def initialize(foo:, bar:) @foo = foo @bar =...
378 просмотров
schedule 18.11.2023

Параметры Splat ведут себя по-разному для средств записи атрибутов по сравнению с обычным методом.
У меня есть следующие два метода, которые, как я считаю, должны иметь одинаковое поведение независимо от их имен: def a=(*params) params end def b(*params) params end Но когда на самом деле я их использую: a=(1) # => 1 b(1) #...
42 просмотров
schedule 05.07.2023

Не удается зарегистрировать View и ViewModel между двумя сборками (UWP, Splat)
Используя последний предварительный просмотр RxUI v8 и Splat 2.0, в проекте UWP, ссылающемся на библиотеку .Net Standard 2.0, я не могу зарегистрировать свое представление и модель представления, если они не находятся в одной сборке. У меня есть:...
715 просмотров
schedule 01.09.2022

Splat: Locator.Current против Locator.CurrentMutable
Итак, Splat предоставляет два способа получения услуги: var s1 = Locator.Current.GetService<IMyService>(); var s2 = Locator.CurrentMutable.GetService<IMyService>(); В документации неясно, какой способ следует использовать....
861 просмотров
schedule 02.10.2022

Почему splatting создает кортеж справа, а список слева?
Рассмотрим, например, squares = *map((2).__rpow__, range(5)), squares # (0, 1, 4, 9, 16) *squares, = map((2).__rpow__, range(5)) squares # [0, 1, 4, 9, 16] Таким образом, при прочих равных условиях мы получаем список при сплаттинге слева и...
2621 просмотров
schedule 27.09.2023

Scala Splat внутренние работы
я знаю в scala я могу сказать def foo(x: Int*) ... foo(Seq(1,2,3): _*) Но я не могу сказать foo(Seq(1,2,3)) Поэтому должно происходить какое-то неявное преобразование. Что это за неявное преобразование? Каков фактический метод,...
58 просмотров
schedule 16.03.2023