Функция Ruby с неограниченным количеством параметров

Это должно сделать работу

$(document).ready(function(){
    $('#male').click(function(){        
        $('#mtn1').prop("checked", $(this).is(':checked'));
    });

    $('#female').click(function(){      
        $('#lhr1').prop("checked", $(this).is(':checked'));     
    });
});
19
задан Nakilon 29 June 2017 в 18:48
поделиться

4 ответа

Используйте * rest . вот небольшой учебник .

19
ответ дан 30 November 2019 в 02:34
поделиться

Кроме того, вот также интересная "подобная" техника к передаче приблизительно названных параметры. Это основано на том, что Ruby преобразует список именованных параметров к хешу, если дали в месте, где один позиционный параметр ожидается:

def hashed_args_test(args = {})
  p args
end

hashed_args_test(arg1: "val1", arg2: "val2")
# => {:arg1=>"val1", :arg2=>"val2"}

hashed_args_test( {arg1: "val1", arg2: "val2"} )
# => {:arg1=>"val1", :arg2=>"val2"}

, Таким образом, оба способа вызвать метод предоставляют хеш (любое количество) элементы †“, ли использование синтаксиса хеша явно или чего-то, что точно походит на передачу, названную параметрами. (Протестированный с Ruby 2.5.3.)

0
ответ дан 30 November 2019 в 02:34
поделиться

Используйте оператор splat *

def foo(a,b,c,*others)
   # this function has at least three arguments,
   # but might have more
   puts a
   puts b
   puts c
   puts others.join(',')
end
foo(1,2,3,4,5,6,7,8,9)
# prints:
# 1
# 2
# 3
# 4,5,6,7,8,9
25
ответ дан 30 November 2019 в 02:34
поделиться

Вот еще одна статья на эту тему:

www.misuse.org/science/2008/01/30/passing-multiple-arguments- in-ruby-is-your-friend

Дает несколько хороших примеров разворачивания и разворачивания ваших параметров с помощью "*"

2
ответ дан 30 November 2019 в 02:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: