Heads up: This description was created by AI and might not be 100% accurate.

mask.rb

This Ruby code snippet demonstrates the use of the ipaddr gem to create and manipulate IP addresses. It initializes an IP address object with the value ‘255.255.255.255/32’ and then iterates 33 times, printing the IP address and its corresponding mask for each iteration. The mask function is used to display the address within the network and host portions.

Ruby code snippet

require 'ipaddr'
#=> true

ip = IPAddr.new('255.255.255.255/32')
#=> #<IPAddr: IPv4:255.255.255.255/255.255.255.255>
33.times { |i| puts "#{i}\t#{ip.mask(i)}" }
0	0.0.0.0
1	128.0.0.0
2	192.0.0.0
3	224.0.0.0
4	240.0.0.0
5	248.0.0.0
6	252.0.0.0
7	254.0.0.0
8	255.0.0.0
9	255.128.0.0
10	255.192.0.0
11	255.224.0.0
12	255.240.0.0
13	255.248.0.0
14	255.252.0.0
15	255.254.0.0
16	255.255.0.0
17	255.255.128.0
18	255.255.192.0
19	255.255.224.0
20	255.255.240.0
21	255.255.248.0
22	255.255.252.0
23	255.255.254.0
24	255.255.255.0
25	255.255.255.128
26	255.255.255.192
27	255.255.255.224
28	255.255.255.240
29	255.255.255.248
30	255.255.255.252
31	255.255.255.254
32	255.255.255.255
#=> 33

Executed with Ruby 3.4.5.