X



Ruby 初心者スレッド Part 63
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/04/17(火) 17:46:57.87ID:GYuBFjQi
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 62
https://mevius.5ch.net/test/read.cgi/tech/1511451329/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/
0229デフォルトの名無しさん
垢版 |
2018/06/24(日) 15:39:18.64ID:mk6WJRaX
chunkメソッドなのですが、
hash = {}
(1..99).to_a.chunk{|a|a % 10}.each {|k,v| hash[k]=v}
これで期待した値は
{1=>[1,11,21,31,..91],2=>[2,12,22,32..93],3=>..}
だったのですが、
結果は
{1=>[91],2=>[92],3=>[93]...}

これは90台の値でhashの値が上書きされるということでいいんですよね。

hash = {}
(1..99).to_a.chunk{|a|a / 10}.each {|k,v|hash[k]=v}
p hash
こっちだけど綺麗に
{0=>[1,2,3,4,5,6,7,8,9],1=>[10,11,12,13,14,15,16,17,18,19],2=>...}
と纏めてくれるんだけど。
0230229
垢版 |
2018/06/24(日) 16:08:41.21ID:mk6WJRaX
hash = {}
(0..9).each { |a| hash[a] = [] }
(1..99).to_a.chunk { |a| a % 10 }.each { |k, v| hash[k] = hash[k] + v }
p hash

これでいいのか。
でも、これだとchunkを使う意味がないんだろうな。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況