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



