さんざん苦労した挙げ句、SSHD for NTをcygwinインストール後に入れたら普通に使えるようになった。ちゃんと bash が起動するし、scp も使える。
cmd.exe が起動した覚えがあるんだけどな。よくわからん。
perl の話。
my $class = shift; bless { key1 => "default1", key2 => "default2", @_ }, $class;
は楽だけど、ユーザが指定したキーを全て受け入れてしまう。それはやっぱり気持ちが悪い。とすると、
sub new { my $class = shift; my $self = {}; bless $self, ref($class) || $class; $self->_init(@_); $self; } sub _init { my $self = shift; $self->can("SUPER::_init") && $self->SUPER::_init(@_); my %args = ( @_ ); my %param = ( aaa => 111, bbb => 222, ccc => 333, ddd => 444, ); @param{keys %param} = map { exists $args{$_} ? $args{$_} : $param{$_} } keys %param; %{$self} = ( %{$self}, %param); }
汎用的なコンストラクタはこんな感じか? うー。いまいちだな。