| # 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.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 " Trying 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)}" | |