1# file: runme.rb
2
3require 'example'
4
5# Try to set the values of some global variables
6
7Example.ivar   =  42
8Example.svar   = -31000
9Example.lvar   =  65537
10Example.uivar  =  123456
11Example.usvar  =  61000
12Example.ulvar  =  654321
13Example.scvar  =  -13
14Example.ucvar  =  251
15Example.cvar   =  "S"
16Example.fvar   =  3.14159
17Example.dvar   =  2.1828
18Example.strvar =  "Hello World"
19Example.iptrvar= Example.new_int(37)
20Example.ptptr  = Example.new_Point(37,42)
21Example.name   = "Bill"
22
23# Now print out the values of the variables
24
25puts "Variables (values printed from Ruby)"
26
27puts "ivar      = #{Example.ivar}"
28puts "svar      = #{Example.svar}"
29puts "lvar      = #{Example.lvar}"
30puts "uivar     = #{Example.uivar}"
31puts "usvar     = #{Example.usvar}"
32puts "ulvar     = #{Example.ulvar}"
33puts "scvar     = #{Example.scvar}"
34puts "ucvar     = #{Example.ucvar}"
35puts "fvar      = #{Example.fvar}"
36puts "dvar      = #{Example.dvar}"
37puts "cvar      = #{Example.cvar}"
38puts "strvar    = #{Example.strvar}"
39puts "cstrvar   = #{Example.cstrvar}"
40puts "iptrvar   = #{Example.iptrvar}"
41puts "name      = #{Example.name}"
42puts "ptptr     = #{Example.ptptr} (#{Example.Point_print(Example.ptptr)})"
43puts "pt        = #{Example.pt} (#{Example.Point_print(Example.pt)})"
44
45puts "\nVariables (values printed from C)"
46
47Example.print_vars()
48
49puts "\nNow I'm going to try and modify some read only variables";
50
51puts "     Trying to set 'path'";
52begin
53  Example.path = "Whoa!"
54  puts "Hey, what's going on?!?! This shouldn't work"
55rescue NameError
56  puts "Good."
57end
58
59puts "     Trying to set 'status'";
60begin
61  Example.status = 0
62  puts "Hey, what's going on?!?! This shouldn't work"
63rescue NameError
64  puts "Good."
65end
66
67
68puts "\nI'm going to try and update a structure variable.\n"
69
70Example.pt = Example.ptptr
71
72puts "The new value is"
73Example.pt_print()
74puts "You should see the value #{Example.Point_print(Example.ptptr)}"
75
76
77
78