mirror of https://github.com/swig/swig
37 lines
692 B
Ruby
37 lines
692 B
Ruby
# file: runme.rb
|
|
|
|
require 'example'
|
|
|
|
# Call average with a Ruby array...
|
|
|
|
puts Example::average([1,2,3,4])
|
|
|
|
# ... or a wrapped std::vector<int>
|
|
|
|
v = Example::IntVector.new(4)
|
|
0.upto(v.size-1) { |i| v[i] = i+1 }
|
|
puts Example::average(v)
|
|
|
|
|
|
# half will return a Ruby array.
|
|
# Call it with a Ruby array...
|
|
|
|
w = Example::half([1.0, 1.5, 2.0, 2.5, 3.0])
|
|
0.upto(w.size-1) { |i| print w[i],"; " }
|
|
puts
|
|
|
|
# ... or a wrapped std::vector<double>
|
|
|
|
v = Example::DoubleVector.new
|
|
[1,2,3,4].each { |i| v.push(i) }
|
|
w = Example::half(v)
|
|
0.upto(w.size-1) { |i| print w[i],"; " }
|
|
puts
|
|
|
|
# now halve a wrapped std::vector<double> in place
|
|
|
|
Example::halve_in_place(v)
|
|
0.upto(v.size-1) { |i| print v[i],"; " }
|
|
puts
|
|
|