Can I create an array in Ruby with default values?

前端 未结 7 686
你的背包
你的背包 2020-12-14 14:58

Perl is pretty nice about default values:

: jmglov@laurana; perl -e \'@foo; printf \"%d\\n\", $foo[123]\'
0
: jmglov@laurana; perl -e \'%foo; printf \"%d\\n\         


        
7条回答
  •  爱一瞬间的悲伤
    2020-12-14 15:40

    If you're dealing with integers you can call to_i:

    foo = []
    foo[100]
    #=> nil
    foo[100].to_i
    #=> 0
    foo[100] = 3
    foo[100]
    #=> 3
    

    UPD

    Oh, I didn't read all topic :)

    so you can use this:

    foo.inject{|a,b| a.to_i + b.to_i }
    

    which, actually, not the smartest one

提交回复
热议问题