Thread
そういえば Ruby 以外の LL のスレッド生成方法を全然知らないことに気付いた。JS は timeout/interval で疑似スレッドだしなぁ。
Perl の threads は使おうとするとハマりそう。とにかくスレッド作る時変数がコピーされることと、threads->new (複数形) なことを忘れなければいいのかな。
そういえば Ruby 以外の LL のスレッド生成方法を全然知らないことに気付いた。JS は timeout/interval で疑似スレッドだしなぁ。
Perl の threads は使おうとするとハマりそう。とにかくスレッド作る時変数がコピーされることと、threads->new (複数形) なことを忘れなければいいのかな。
Ruby のソケットって壮絶に簡単なんだなぁと、他の言語を見てて思う。単に慣れてないだけ、というつっこみっっっっっっg
どうするのがいいんだろう。FoxyProxy が使いにくいし、場所変わるたびに設定するのがめんどくさい。
自動設定ファイルにしても再起動しないと適用されないし、うーん。
あと SSH のトンネリングもちゃんと自動化したいなぁ。ただスリープ入った時に SSH が固まるのがめんどくさい。
require 'pp'
class Hash
def deep_merge(other)
deep_proc = Proc.new { |k, s, o|
if s.kind_of?(Hash) && o.kind_of?(Hash)
next s.merge(o, &deep_proc)
end
next o
}
merge(other, &deep_proc)
end
end
a = {
:hoge => 'hoge',
:fuga => {
:aaaa => 'aaaa',
:bbbb => 'bbbb',
:dddd => {
:test => 'test',
}
},
}
b = {
:hoge => 'hoge',
:hage => 'ore',
:fuga => {
:bbbb => 'baka',
:cccc => 'remon',
:dddd => {
:TTst => 'test',
}
},
}
pp a.merge(b)
pp a.deep_merge(b):!/usr/bin/ruby tmp/test.rb
{:hoge=>"hoge",
:hage=>"ore",
:fuga=>{:bbbb=>"baka", :dddd=>{:TTst=>"test"}, :cccc=>"remon"}}
{:hoge=>"hoge",
:hage=>"ore",
:fuga=>
{:aaaa=>"aaaa",
:bbbb=>"baka",
:dddd=>{:TTst=>"test", :test=>"test"},
:cccc=>"remon"}}みたいなのって AS にもあったりするのかな
Perl のテストの書き方わかんねー(基本がそもそも
perl -Ilib t/*.t でいいのだろうか