From: Tanaka Akira Date: 2002-07-24T11:30:14+09:00 Subject: [ruby-dev:17781] Re: self in block In article <20020723.170929.74757467.GEC01122@nifty.ne.jp>, masaki writes: > $B?7$7$$5!G=$,DI2C$5$l$?;~$N0lHV$NLdBjE@$O!"$=$N5!G=$rI,MW$H$7$F$$$J$$(B > $B?M$,!"?75!G=$NI{:nMQ$N$H$P$C$A$j$r initialize $B$K8BDj$7$?>l9g$NNc$rCN$j$?$+$C$?$s$G$9$,!#(B $B$?$H$($P!"(Bresolv.rb $B$N0lIt$K$3$N$h$&$J%3!<%I$,$"$j$^$9!#(B def encode return MessageEncoder.new {|msg| msg.put_pack('nnnnnn', @id, (@qr & 1) << 15 | (@opcode & 15) << 11 | (@aa & 1) << 10 | (@tc & 1) << 9 | (@rd & 1) << 8 | (@ra & 1) << 7 | (@rcode & 15), @question.length, @answer.length, @authority.length, @additional.length) @question.each {|q| name, typeclass = q msg.put_name(name) msg.put_pack('nn', typeclass::TypeValue, typeclass::ClassValue) } [@answer, @authority, @additional].each {|rr| rr.each {|r| name, ttl, data = r msg.put_name(name) msg.put_pack('nnN', data.class::TypeValue, data.class::ClassValue, ttl) msg.put_length16 {data.encode_rdata(msg)} } } }.to_s end MessageEncoder.new $B$K%V%m%C%/$rEO$7$F$$$^$9$,!"$=$N%V%m%C%/$NCf$G$O ...} $B$K$7$F0z?t$N?t$,0[$J$C$?$i%(%i!<(B $B$K$J$C$F$/$l$k$[$&$,K>$^$7$$$H;W$C$F$$$^$9$7!"(B{ ...} $B$,$3$&$$$&>l(B $B9g$K$b;H$($k$b$N$K$J$k$3$H$r4|BT$7$F$$$^$9!#:#$OB8:_$7$J$$$+$i$I$&$7$h(B $B$&$b$J$/(B {|msg| ...} $B$r;H$C$F$$$^$9$,!#(B $B=>$C$F!"@5LZ$5$s$N(B self $B$N$9$jBX$((B($B$*$h$S$=$l$KH<$&%$%s%9%?%s%9JQ?t$N(B $B;2>H$N6X;_(B)$B$O;d$K$O32$,$"$j$^$9!#$D$^$j!";d$O@5LZ$5$s$NDs0F$9$k!V?75!(B $BG=$NI{:nMQ$N$H$P$C$A$j$r