数组中有1到100个奇数

Joh*_*n S 15 ruby

在Ruby中有没有很酷的方法来创建一个1到100的数组,只有奇数条目(1,3等).我现在有一个循环,但这显然不是一个很酷的方式来做到这一点!有什么建议?

我目前的代码:

def create_1_to_100_odd_array
    array = [1]
    i = 3
    while i < 100
        array.push i
        i += 2
    end

    array
end
Run Code Online (Sandbox Code Playgroud)

提前致谢

Vin*_* B. 40

范围类带有用于该目的的非常酷的功能:

1.9.3-p286 :005 > (1..10).step(2).to_a
 => [1, 3, 5, 7, 9] 
Run Code Online (Sandbox Code Playgroud)


saw*_*awa 15

可能效率不高,但代码很短:

(1..100).select(&:odd?)

# => [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
Run Code Online (Sandbox Code Playgroud)


ste*_*lag 5

只是玩弄......

(0...50).map(&:object_id)
#or
1.step(100,2).to_a
Run Code Online (Sandbox Code Playgroud)

  • @sawa 在这种情况下,我认为“酷”与“很棒”有些相似。维基词典将其翻译成日文为クール、素敵和すごい,在这种情况下,它会匹配[すごい](http://jisho.org/words?jap=%E3%81%99%E3%81% 94%E3%81%84&amp;eng=&amp;dict=edict)(了不起,很棒)比[クール](http://jisho.org/words?jap=+%E3%82%AF%E3%83%BC%E3)好%83%AB&amp;eng=&amp;dict=edict)(“酷(即时尚、有吸引力等)”和[素敵](http://jisho.org/words?jap=+%E7%B4%A0%E6%95 %B5&amp;eng=&amp;dict=edict)(“可爱的;梦幻的;美丽的;伟大的;梦幻的;极好的;酷的;资本”) (2认同)