[Ruby] Re[2]: [Ruby] Послать массив в TCPsocket в HEX виде - Bug ???????????

Alexander Bokovoy a.bokovoy at sam-solutions.net
Thu Jan 9 14:27:42 MSK 2003


On Thu, Jan 09, 2003 at 01:10:30PM +0200, Vladyslav wrote:
> Hello Alexander,
> 
> Thursday, January 9, 2003, 11:55:18 AM, you wrote:
> 
> 
> Спасибо, после нескольких пасов помогло! :-)
> 
> Но ...
> Оказалось что у меня в массиве были не только Fixnum но и String.
> Я попытался привести их всех к Fixnum и здесь я наткнулся на странное:
> 
> irb(main):056:0> s = [ 1, 2, 3 ]
> [1, 2, 3]
> irb(main):057:0> t = [ 4, 5, 6, [7, 8] ]
> [4, 5, 6, [7, 8]]
> irb(main):058:0> a = [ s, t, 9, 10 ]
> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
> irb(main):059:0> a.flatten
> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
> irb(main):060:0> a[0].type
> Array
> 
> Такое впечатление что после метода Flatten наследуются родительские
> типы.
> 
> Баг ?
a.flatten[0].assбудет правильнее. Вы же посылкой сообщения #flatten не
изменили объект a, а получили в результате новый объект. После этого
обращаетесь к неизмененному a.

Да и #type лучше заменить на #class, первого скоро не будет в живых.

-- 
/ Alexander Bokovoy
---
"What I've done, of course, is total garbage."
		-- R. Willard, Pure Math 430a



More information about the Ruby mailing list