summaryrefslogtreecommitdiff
path: root/Examples/ruby/funcptr2/runme.rb
blob: 99b984260c33c1d27e44d88f70c8ce3977bb8f94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'example'

a = 37
b = 42

# Now call our C function with a bunch of callbacks

puts "Trying some C callback functions"
puts "    a        = #{a}"
puts "    b        = #{b}"
puts "    ADD(a,b) = #{Example.do_op(a,b,Example::ADD)}"
puts "    SUB(a,b) = #{Example.do_op(a,b,Example::SUB)}"
puts "    MUL(a,b) = #{Example.do_op(a,b,Example::MUL)}"

puts "Here is what the C callback function objects look like in Ruby"
puts "    ADD      = #{Example::ADD}"
puts "    SUB      = #{Example::SUB}"
puts "    MUL      = #{Example::MUL}"

puts "Call the functions directly..."
puts "    add(a,b) = #{Example.add(a,b)}"
puts "    sub(a,b) = #{Example.sub(a,b)}"