# file: runme.rb require 'example' # Try to set the values of some global variables Example.ivar = 42 Example.svar = -31000 Example.lvar = 65537 Example.uivar = 123456 Example.usvar = 61000 Example.ulvar = 654321 Example.scvar = -13 Example.ucvar = 251 Example.cvar = "S" Example.fvar = 3.14159 Example.dvar = 2.1828 Example.strvar = "Hello World" Example.cstrvar = "Goodbye" Example.iptrvar= Example.new_int(37) Example.ptptr = Example.new_Point(37,42) Example.name = "Bill" # Now print out the values of the variables puts "Variables (values printed from Ruby)" puts "ivar = #{Example.ivar}" puts "svar = #{Example.svar}" puts "lvar = #{Example.lvar}" puts "uivar = #{Example.uivar}" puts "usvar = #{Example.usvar}" puts "ulvar = #{Example.ulvar}" puts "scvar = #{Example.scvar}" puts "ucvar = #{Example.ucvar}" puts "fvar = #{Example.fvar}" puts "dvar = #{Example.dvar}" puts "cvar = #{Example.cvar}" puts "strvar = #{Example.strvar}" puts "cstrvar = #{Example.cstrvar}" puts "iptrvar = #{Example.iptrvar}" puts "name = #{Example.name}" puts "ptptr = #{Example.ptptr} (#{Example.Point_print(Example.ptptr)})" puts "pt = #{Example.pt} (#{Example.Point_print(Example.pt)})" puts "\nVariables (values printed from C)" Example.print_vars() puts "\nNow I'm going to try and modify some read only variables"; puts " Tring to set 'path'"; begin Example.path = "Whoa!" puts "Hey, what's going on?!?! This shouldn't work" rescue NameError puts "Good." end puts " Trying to set 'status'"; begin Example.status = 0 puts "Hey, what's going on?!?! This shouldn't work" rescue NameError puts "Good." end puts "\nI'm going to try and update a structure variable.\n" Example.pt = Example.ptptr puts "The new value is" Example.pt_print() puts "You should see the value #{Example.Point_print(Example.ptptr)}"