SNMP::Integer values in Ruby 1.9

J

Jason Loughran

Hey guys, this is my first forum post. Wanted to see if anyone could
give me some insight.

I have written a script to derive RSSI values from a Wimax Base Station.
There is some output change between Ruby 1.8 and 1.9.

active_sfid.each { |c| print "SFID#{c}:",
"#{histogram_summary.fetch(sfarray_num +=1)}" " " }

(Objects are all arrays)

Output in Ruby 1.8.7:
SFID7:53 SFID8:47 SFID9:68 SFID10:57 SFID11:61 SFID12:56 SFID13:53
SFID14:46 SFID15:54 SFID16:47 SFID17:41 SFID18:37 SFID19:55 SFID20:51
SFID23:49 SFID24:45 SFID31:50 SFID32:45 SFID33:57 SFID34:51 SFID35:51
SFID36:47 SFID37:57 SFID38:52 SFID39:58 SFID40:54 SFID41:53 SFID42:49
SFID43:53 SFID44:48 SFID45:60 SFID46:56 SFID47:49 SFID48:44 SFID49:49
SFID50:43 SFID51:44 SFID52:40 SFID53:55 SFID54:52 SFID55:52 SFID56:46
SFID59:64 SFID60:56 SFID61:54 SFID62:50 SFID63:52 SFID64:48 SFID67:53
SFID68:48 SFID69:54 SFID70:49 SFID73:50 SFID74:44

Output in Ruby 1.9:
SFID7:[#<SNMP::Integer:0x000000023fe338 @value=53>]
SFID8:[#<SNMP::Integer:0x00000002331658 @value=47>]
SFID9:[#<SNMP::Integer:0x0000000229c240 @value=68>]
SFID10:[#<SNMP::Integer:0x00000002204658 @value=57>]
SFID11:[#<SNMP::Integer:0x0000000214dd28 @value=61>]
SFID12:[#<SNMP::Integer:0x000000020765a8 @value=56>]
SFID13:[#<SNMP::Integer:0x00000001f7ec18 @value=53>]
SFID14:[#<SNMP::Integer:0x0000000248e7b0 @value=46>]
SFID15:[#<SNMP::Integer:0x000000023acef8 @value=54>]
SFID16:[#<SNMP::Integer:0x000000022c7fc8 @value=47>]
SFID17:[#<SNMP::Integer:0x0000000227c570 @value=41>]
SFID18:[#<SNMP::Integer:0x00000002193e40 @value=37>]
SFID19:[#<SNMP::Integer:0x000000020dfe68 @value=55>]
SFID20:[#<SNMP::Integer:0x00000001fdc3e8 @value=51>]
SFID23:[#<SNMP::Integer:0x00000002512c18 @value=49>]
SFID24:[#<SNMP::Integer:0x00000002402cb8 @value=45>]
SFID31:[#<SNMP::Integer:0x0000000236e5c0 @value=50>]
SFID32:[#<SNMP::Integer:0x000000022a6500 @value=44>]
SFID33:[#<SNMP::Integer:0x000000022152c0 @value=57>]
SFID34:[#<SNMP::Integer:0x000000021767b8 @value=51>]
SFID35:[#<SNMP::Integer:0x000000020928b8 @value=51>]
SFID36:[#<SNMP::Integer:0x00000001fc2678 @value=46>]
SFID37:[#<SNMP::Integer:0x0000000249ff78 @value=57>]
SFID38:[#<SNMP::Integer:0x000000023d1a88 @value=52>]
SFID39:[#<SNMP::Integer:0x000000022ddc40 @value=58>]
SFID40:[#<SNMP::Integer:0x0000000228dd00 @value=54>]
SFID41:[#<SNMP::Integer:0x000000021b17d8 @value=53>]
SFID42:[#<SNMP::Integer:0x00000002111db8 @value=49>]
SFID43:[#<SNMP::Integer:0x0000000203cf90 @value=53>]
SFID44:[#<SNMP::Integer:0x00000002109c70 @value=48>]
SFID45:[#<SNMP::Integer:0x00000002453528 @value=60>]
SFID46:[#<SNMP::Integer:0x0000000239e408 @value=56>]
SFID47:[#<SNMP::Integer:0x000000022c27d8 @value=49>]
SFID48:[#<SNMP::Integer:0x00000002276530 @value=44>]
SFID49:[#<SNMP::Integer:0x0000000218a830 @value=49>]
SFID50:[#<SNMP::Integer:0x000000020b42d8 @value=43>]
SFID51:[#<SNMP::Integer:0x00000001fd4818 @value=44>]
SFID52:[#<SNMP::Integer:0x000000024ceb28 @value=40>]
SFID53:[#<SNMP::Integer:0x000000023e42f0 @value=55>]
SFID54:[#<SNMP::Integer:0x000000022eaeb0 @value=52>]
SFID55:[#<SNMP::Integer:0x000000022991b0 @value=52>]
SFID56:[#<SNMP::Integer:0x00000002203eb0 @value=46>]
SFID59:[#<SNMP::Integer:0x0000000214d7b0 @value=64>]
SFID60:[#<SNMP::Integer:0x00000002075f18 @value=56>]
SFID61:[#<SNMP::Integer:0x00000001f2a630 @value=54>]
SFID62:[#<SNMP::Integer:0x0000000248ee40 @value=50>]
SFID63:[#<SNMP::Integer:0x000000023ae708 @value=52>]
SFID64:[#<SNMP::Integer:0x000000022cae28 @value=48>]
SFID67:[#<SNMP::Integer:0x0000000227f9b8 @value=53>]
SFID68:[#<SNMP::Integer:0x000000021989b8 @value=48>]
SFID69:[#<SNMP::Integer:0x000000020e7f78 @value=54>]
SFID70:[#<SNMP::Integer:0x00000001fe6c20 @value=49>]
SFID73:[#<SNMP::Integer:0x000000025307a8 @value=50>]
SFID74:[#<SNMP::Integer:0x0000000240f4e0 @value=43>]

How can I get just the @value and why is this so different? I'm hoping
to cut processor usage using 1.9.

Thanks,

Jason
 
J

Jason Loughran

Hey y'all (...I'm in Kentucky),

Figured this weirdness out on my own. Figured I'd post it in case anyone
stumbled upon it (since when I Google, this is all I see):

Using 'print' with that particular patch of code produces the
SNMP::Integer output, however, 'puts' does not, it's fine.

So I guess it's getting thrown into an array-like structure then,
because I changed the code to this, and it works fine:

active_sfid.each do |c|
hrip = histogram_summary.fetch(sfarray_num +=1)
print "SFID#{c}:", "#{hrip[0]}" " " end
end

All I really did was assign the fetched values to 'hrip' and call
'hrip[0]'

BAM!


Jason said:
Hey guys, this is my first forum post. Wanted to see if anyone could
give me some insight.

I have written a script to derive RSSI values from a Wimax Base Station.
There is some output change between Ruby 1.8 and 1.9.

active_sfid.each { |c| print "SFID#{c}:",
"#{histogram_summary.fetch(sfarray_num +=1)}" " " }

(Objects are all arrays)

Output in Ruby 1.8.7:
SFID7:53 SFID8:47 SFID9:68 SFID10:57 SFID11:61 SFID12:56 SFID13:53
SFID14:46 SFID15:54 SFID16:47 SFID17:41 SFID18:37 SFID19:55 SFID20:51
SFID23:49 SFID24:45 SFID31:50 SFID32:45 SFID33:57 SFID34:51 SFID35:51
SFID36:47 SFID37:57 SFID38:52 SFID39:58 SFID40:54 SFID41:53 SFID42:49
SFID43:53 SFID44:48 SFID45:60 SFID46:56 SFID47:49 SFID48:44 SFID49:49
SFID50:43 SFID51:44 SFID52:40 SFID53:55 SFID54:52 SFID55:52 SFID56:46
SFID59:64 SFID60:56 SFID61:54 SFID62:50 SFID63:52 SFID64:48 SFID67:53
SFID68:48 SFID69:54 SFID70:49 SFID73:50 SFID74:44

Output in Ruby 1.9:
SFID7:[#<SNMP::Integer:0x000000023fe338 @value=53>]
SFID8:[#<SNMP::Integer:0x00000002331658 @value=47>]
SFID9:[#<SNMP::Integer:0x0000000229c240 @value=68>]
SFID10:[#<SNMP::Integer:0x00000002204658 @value=57>]
SFID11:[#<SNMP::Integer:0x0000000214dd28 @value=61>]
SFID12:[#<SNMP::Integer:0x000000020765a8 @value=56>]
SFID13:[#<SNMP::Integer:0x00000001f7ec18 @value=53>]
SFID14:[#<SNMP::Integer:0x0000000248e7b0 @value=46>]
SFID15:[#<SNMP::Integer:0x000000023acef8 @value=54>]
SFID16:[#<SNMP::Integer:0x000000022c7fc8 @value=47>]
SFID17:[#<SNMP::Integer:0x0000000227c570 @value=41>]
SFID18:[#<SNMP::Integer:0x00000002193e40 @value=37>]
SFID19:[#<SNMP::Integer:0x000000020dfe68 @value=55>]
SFID20:[#<SNMP::Integer:0x00000001fdc3e8 @value=51>]
SFID23:[#<SNMP::Integer:0x00000002512c18 @value=49>]
SFID24:[#<SNMP::Integer:0x00000002402cb8 @value=45>]
SFID31:[#<SNMP::Integer:0x0000000236e5c0 @value=50>]
SFID32:[#<SNMP::Integer:0x000000022a6500 @value=44>]
SFID33:[#<SNMP::Integer:0x000000022152c0 @value=57>]
SFID34:[#<SNMP::Integer:0x000000021767b8 @value=51>]
SFID35:[#<SNMP::Integer:0x000000020928b8 @value=51>]
SFID36:[#<SNMP::Integer:0x00000001fc2678 @value=46>]
SFID37:[#<SNMP::Integer:0x0000000249ff78 @value=57>]
SFID38:[#<SNMP::Integer:0x000000023d1a88 @value=52>]
SFID39:[#<SNMP::Integer:0x000000022ddc40 @value=58>]
SFID40:[#<SNMP::Integer:0x0000000228dd00 @value=54>]
SFID41:[#<SNMP::Integer:0x000000021b17d8 @value=53>]
SFID42:[#<SNMP::Integer:0x00000002111db8 @value=49>]
SFID43:[#<SNMP::Integer:0x0000000203cf90 @value=53>]
SFID44:[#<SNMP::Integer:0x00000002109c70 @value=48>]
SFID45:[#<SNMP::Integer:0x00000002453528 @value=60>]
SFID46:[#<SNMP::Integer:0x0000000239e408 @value=56>]
SFID47:[#<SNMP::Integer:0x000000022c27d8 @value=49>]
SFID48:[#<SNMP::Integer:0x00000002276530 @value=44>]
SFID49:[#<SNMP::Integer:0x0000000218a830 @value=49>]
SFID50:[#<SNMP::Integer:0x000000020b42d8 @value=43>]
SFID51:[#<SNMP::Integer:0x00000001fd4818 @value=44>]
SFID52:[#<SNMP::Integer:0x000000024ceb28 @value=40>]
SFID53:[#<SNMP::Integer:0x000000023e42f0 @value=55>]
SFID54:[#<SNMP::Integer:0x000000022eaeb0 @value=52>]
SFID55:[#<SNMP::Integer:0x000000022991b0 @value=52>]
SFID56:[#<SNMP::Integer:0x00000002203eb0 @value=46>]
SFID59:[#<SNMP::Integer:0x0000000214d7b0 @value=64>]
SFID60:[#<SNMP::Integer:0x00000002075f18 @value=56>]
SFID61:[#<SNMP::Integer:0x00000001f2a630 @value=54>]
SFID62:[#<SNMP::Integer:0x0000000248ee40 @value=50>]
SFID63:[#<SNMP::Integer:0x000000023ae708 @value=52>]
SFID64:[#<SNMP::Integer:0x000000022cae28 @value=48>]
SFID67:[#<SNMP::Integer:0x0000000227f9b8 @value=53>]
SFID68:[#<SNMP::Integer:0x000000021989b8 @value=48>]
SFID69:[#<SNMP::Integer:0x000000020e7f78 @value=54>]
SFID70:[#<SNMP::Integer:0x00000001fe6c20 @value=49>]
SFID73:[#<SNMP::Integer:0x000000025307a8 @value=50>]
SFID74:[#<SNMP::Integer:0x0000000240f4e0 @value=43>]

How can I get just the @value and why is this so different? I'm hoping
to cut processor usage using 1.9.

Thanks,

Jason
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,584
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top