Rumah  >  Soal Jawab  >  teks badan

ruby - 方法可变参数(如*options)之后的参数,不可以设置默认值吗?

譬如:

def calculate(*numbers, method = {:add=>true})

就一直报错:

syntax error, unexpected '=', expecting ')' (SyntaxError)

检索The Ruby Programming Wikibook 的相关语法也没有提示,请问这是什么原因呢?

伊谢尔伦伊谢尔伦2710 hari yang lalu718

membalas semua(3)saya akan balas

  • 黄舟

    黄舟2017-04-24 09:14:26

    Dengan mengandaikan anda seorang jurubahasa, adakah anda akan menetapkan parameter calculate({add: true}) dalam {add: true} kepada *numbers atau method?

    Anda tidak boleh menilai sama sekali, bukan? Jadi tidak dibenarkan.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-24 09:14:26

    Bolehkah parameter pembolehubah *numbers diletakkan hanya pada penghujung?

    def calc(method = {add: true}, *numbers); end dibenarkan, tetapi sebaliknya tidak dibenarkan.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:14:26

    Tidak boleh, akan ada kesamaran

    balas
    0
  • Batalbalas