Ruby

Rubyでの多次元Hashの作成法 2 : 修正とクラス化

スコープを意識しながらよく見直してみるとなんか無駄にArrayに格納してることが判明。ってかなんでこんな事してたんだ俺wよりスマートになった感じ。 dimension = 3 node = {} # 末端Hash (dimension-1).times do current = node node = Hash.new{ |hash, …

sort.reverseとsort_by{ |val| -val }の速度差 2

前回のだと、sortは正数の比較でsort_by{-val}は負数の比較なのでもしかしたらそれで何かあるのかなと思い、より条件を公平にするために初期値を-5.0〜5.0までの0.1刻みにしてみることにした。 require "benchmark" array = Array.new(101){ |index| (index-…

sort.reverseとsort_by{ |val| -val }の速度差

色々気になったので試してみた。 require "benchmark" array = Array.new(100){ |index| index }.sort_by{ rand } array1 = array.dup array2 = array.dup array3 = array.dup Benchmark.bm(16) do |bm| bm.report("sort.reverse "){ 1000.times{ array1.sor…

「憂鬱な勇者」をゲーム的に作ってみた。

http://d.hatena.ne.jp/hrkt0115311/20080527/1211891558 で公開されてたのが面白そうなのでやってみた。 # 冒険者クラス class Adventurer attr_accessor :name attr_reader :level def initialize name self.name = name @level = 0 end def battle_with m…