2007-05-22から1日間の記事一覧

インデックスでアクセス

(1..5).inject(a = []) {|x,y| x << (rand()*100).to_i} a.size.times {|x| p a[x]} a.each_index {|x| p a[x]}

配列を逆順にする

a = (1..10).map {|x| x } p a.reverse 参照:ファイルを行単位で逆向きに読む - ロバの耳

二つの配列を結合する

a = (1..10).map {|x| x*3} b = (1..10).map {|x| x*5} a.concat(b) p a a = (1..10).map {|x| x*3} b = (1..10).map {|x| x*5} a += b p a

片方の配列にあって,他方に無いものを見つける

a = (1..10).map {|x| x*3} b = (1..10).map {|x| x*5} p a p b p a - b # aからbにもあるものを取り除いた配列を得る.差集合 p a & b # a,b両方に含まれるものを新たな配列に入れる.積集合 p a | b # a,bのどちらかに含まれるものを新たな配列に入れる(重…

配列内の重複を取り除く

p %w[a a bb a aa c bbb].uniq #複雑なだけ? h = {} uniq = [] %w[a a bb a aa c bbb].each {|x| uniq << x unless h[x]; h[x] = 1 } p uniq

配列への参照でアクセス?

意味不明.要調査.

リストの全要素に何かする

#順番に取り出す [2,3,5,7,11,13,17,19,23,29,31,37].each{|x| p x} #ソートしつつ,順番に何かする. # もっともましな方法があるかも a = [] 10.times {|x| a << (rand()*100).to_i} a.sort.each{|x| p x} #配列の内容の計算結果を新しい配列にして返す a …

カンマ付きで出力する

c = 'quick brown fox jumps over the lazy dog'.split(/\s/) p c.join(',') d = [] p d.join(',') p "#{c[0]}( #{c[1..-1].join(', ')});" if c.size>0 # 引数の数に応じてつける字を変える.

配列の初期化

a = ['quick', 'brown', 'fox'] b = %w[jumps over the lazy dog] c = 'quick brown fox jumps over the lazy dog'.split(/\s/) d = 'quick brown fox jumps over the lazy dog'.scan(/[^\s]+/) # ファイルから読み込んで配列に入れる open('test.txt') {|f|…

備忘録目次 - ロバの耳 出力例がまったくないな.あとで追加するかも.