This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit e0af4fe0d2198aa9e7423e891491956f8922d902
tree e43dcb2cc3fe7021419ac28e2c4e133032bf70f5
parent a6290e48aa678050c844149b828fd3f8bc5ed7f0
tree e43dcb2cc3fe7021419ac28e2c4e133032bf70f5
parent a6290e48aa678050c844149b828fd3f8bc5ed7f0
| name | age | message | |
|---|---|---|---|
| |
CHANGELOG.txt | ||
| |
CREDITS.txt | ||
| |
LICENSE.txt | Mon Mar 16 16:53:00 -0700 2009 | |
| |
README.txt | ||
| |
Rakefile | ||
| |
TODO.txt | ||
| |
doc/ | Wed Mar 11 00:42:39 -0700 2009 | |
| |
lib/ | ||
| |
rufus-lua.gemspec | ||
| |
spec/ | ||
| |
test/ | Tue Mar 17 02:18:19 -0700 2009 |
README.txt
= rufus-lua Lua embedded in Ruby, via Ruby FFI Tested with ruby 1.8.6, ruby 1.9.1p0, jruby 1.2.0 jruby 1.1.6 has an issue with errors raised inside of Ruby functions (callbacks) == Lua http://www.lua.org/about.html says : """ Lua is a powerful, fast, lightweight, embeddable scripting language. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping. """ http://www.lua.org/ == other Ruby and Lua bridges / connectors http://rubyluabridge.rubyforge.org/ http://raa.ruby-lang.org/project/ruby-lua == using rufus-lua If you don't have liblua.dylib on your system, scroll until "compiling liblua.dylib" to learn how to get it. sudo gem install rufus-lua then require 'rubygems' require 'rufus/lua' s = Rufus::Lua::State.new puts s.eval("return table.concat({ 'hello', 'from', 'Lua' }, ' ')") # # => "Hello from Lua" s.close === binding Ruby code as Lua functions require 'rubygems' require 'rufus/lua' s = Rufus::Lua::State.new s.function 'key_up' do |table| table.inject({}) do |h, (k, v)| h[k.to_s.upcase] = v end end p s.eval(%{ local table = { CoW = 2, pigs = 3, DUCKS = 'none' } return key_up(table) -- calling Ruby from Lua... }).to_h # => { 'COW' => 2.0, 'DUCKS => 'none', 'PIGS' => 3.0 } s.close It's OK to bind a function inside of a table (library) : require 'rubygems' require 'rufus/lua' s = Rufus::Lua::State.new s.eval("rubies = {}") s.function 'add' do |x, y| x + y end s.eval("rubies.add(1, 2)") # => 3.0 s.close You can omit the table definition (only 1 level allowed here though) : require 'rubygems' require 'rufus/lua' s = Rufus::Lua::State.new s.function 'rubies.add' do |x, y| x + y end s.eval("rubies.add(1, 2)") # => 3.0 s.close The specs contain more examples : http://github.com/jmettraux/rufus-lua/tree/master/spec/ rufus-lua's rdoc is at : http://rufus.rubyforge.org/rufus-lua/ == compiling liblua.dylib original instructions by Adrian Perez at : http://lua-users.org/lists/lua-l/2006-09/msg00894.html get the source at http://www.lua.org/ftp/lua-5.1.4.tar.gz then tar xzvf lua-5.1.4.tar.gz cd lua-5.1.4 modify the file src/Makefile as per http://lua-users.org/lists/lua-l/2006-09/msg00894.html make make masocx # or make linux ... make -C src src liblua.dylib sudo cp src/liblua.dylib /usr/local/lib/ == build dependencies You need to add the github gems to your gem sources gem sources -a http://gems.github.com The following gems are needed to run the specs mislav-hanna install bacon == tested with ruby 1.8.6, ruby 1.9.1p0, jruby 1.2.0 jruby 1.1.6 has an issue with errors raised inside of Ruby functions (callbacks) == dependencies the ruby gem 'ffi' == mailing list On the rufus-ruby list : http://groups.google.com/group/rufus-ruby == issue tracker http://rubyforge.org/tracker/?atid=18584&group_id=4812&func=browse == irc irc.freenode.net #ruote == source http://github.com/jmettraux/rufus-lua git clone git://github.com/jmettraux/rufus-lua.git == credits many thanks to the authors of Ruby FFI, and of Lua http://kenai.com/projects/ruby-ffi/ http://lua.org/ == authors John Mettraux, jmettraux@gmail.com, http://jmettraux.wordpress.com Alain Hoang, http://blogs.law.harvard.edu/hoanga/ == the rest of Rufus http://rufus.rubyforge.org == license MIT Lua itself is licensed under the MIT license as well : http://www.lua.org/license.html








