blob: 38531c833366c355d8a3ab9a1c2616ece954d101 [file] [log] [blame]
# 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 " 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)}"