みんなのちからになりたい

コピペでブログラムつくっていきたい

rubyで連番の配列作ろうとして気づいたアホな思いこみ

連番が入った配列を作ろうと思って普通に
[1..10]
とかやったけどぜんぜんできなくてなにが起きたのかと思ったら、単純にこれで作れると勝手に思いこんでただけでそんなんでできないって話だった。
[1..10]でできるのは1..10というRangeが入った要素が1つある配列ができるだけで、連番から配列を作りたかったらRangeからto_aして配列作るか、Array関数にRange渡して作るかのどっちかだった。

$ irb
irb(main):001:0> x = 10
=> 10
irb(main):002:0> [1..x]
=> [1..10]
irb(main):003:0> [1..x].to_a
=> [1..10]
irb(main):004:0> a = [1..x]
=> [1..10]
irb(main):005:0> a[0]
=> 1..10
irb(main):006:0> a[0].class
=> Range
irb(main):011:0> Array(1..x)
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
irb(main):012:0> (1..x).class
=> Range
irb(main):013:0> (1..x).to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

よく理解してないのに思いこみやばい。

勉強になる。

'; //挿入するタイトルのHTML for (var i = 0; i < num; i++ ){ var entry = result.feed.entries[i]; var entryDate = new Date(entry.publishedDate); var entryYear = entryDate.getYear(); if (entryYear < 2000){ entryYear += 1900; } var entryMonth = entryDate.getMonth() + 1; if (entryMonth < 10) { entryMonth = "0" + entryMonth; } var entryDay = entryDate.getDate(); if (entryDay < 10) { entryDay = "0" + entryDay; } var date = entryYear + "/" + entryMonth + "/" + entryDay; var entryImg = ""; var imgCheck = entry.content.match(/(src="http:)[\S]+((\.jpg)|(\.JPG)|(\.jpeg)|(\.JPEG)|(\.gif)|(\.GIF)|(\.png)|(\.PNG))/); //画像のチェック entryImg += ''; if(entry.link != presentUrl){ container.innerHTML += '
' + entryImg + '

' + date + '

' + entry.title + '

' + '

' + entry.contentSnippet.substring(0,maxSubString) + '

' //挿入する関連記事のHTML }else{ num ++ //今のリンクのときは、表示せずもう1つ記事を取り出す } } } } } google.setOnLoadCallback(initialize);