2011/9/1 本日の「これはひどいruby」 |
=begin @fmap = {} open(@manifest, "r") do |f| while s = f.gets s.chomp! # s is like "File=(Src=System\Engine.dll,Size=1785856)" if s =~ /^File=/ m = s.match(/Src="?([^,)"]+)/) or raise "? illegal line: #{s}" # pfn = Pseudo FileName pfn = m[1].gsub(/\\/, "/") # rfn = Real FileName rfn = "#{@srcd}/#{pfn.downcase}" if File.exist? rfn apfn = pfn.split("/") apfn[0..-2].inject(@fmap){|r,e|r[e] ||= {}; r[e]}[apfn[-1]] = rfn else puts "? file not found: #{pfn}" end end end end =end 特にここ > apfn = pfn.split("/") > apfn[0..-2].inject(@fmap){|r,e|r[e] ||= {}; r[e]}[apfn[-1]] = rfn いままでなら以下のように書いていただろう。 > apfn = pfn.split("/") > f = @fmap > (apfn.size-2).times do |i| > f[apfn[i]] ||= {} > f = f[apfn[i]] > end > f[apfn[-1]] = rfn inject使い始めるときれいに書けた感がしてやばい… |
2011/9/11 iTunesSetupすごいね! |
iTunesのsetupを起動する 適当に「次へ>」を押す 誤って関連づけやらのチェックをすべて入れたまま「次へ」を押してしまう インストールが始まってしまったので慌ててキャンセル キャンセルしますか? → はい ・Bonjour ・AppleMobileDeviceSupport ・AppleSoftwareUpdate ・Quicktime がインストールされる(すでにキャンセルしているのに!) iTunesが入る番がきてようやくiTunesのインストールが中断される すごいね!!(爆発しろ ちなみにAppleMobileDeviceSupportのサービスが起動できなかった!というダイアログが出た。 そのダイアログの選択肢は「バージョン情報」「再試行」「無視する」 気になったのでバージョン情報を選んでみたら「中断しますか?」とか聞かれた。イミフ… |