Kernel#load is very similar to ExecuteFile, so you can use either for bringing 
the definition up to date.

Tomas

From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Jim Deville
Sent: Wednesday, September 30, 2009 10:35 AM
To: ironruby-core@rubyforge.org
Cc: ironruby-core-boun...@rubyforge.org
Subject: Re: [Ironruby-core] calling ruby scripts from C#

Makes sense, that’s standard Ruby for you.

JD

From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of cdur...@tsys.com
Sent: Wednesday, September 30, 2009 10:30 AM
To: ironruby-core@rubyforge.org
Cc: ironruby-core@rubyforge.org; ironruby-core-boun...@rubyforge.org
Subject: Re: [Ironruby-core] calling ruby scripts from C#


Agreed. We found if we changed the definition of class C, unless we did 
something like 'load', it would continue to use the old definition from the 
first load.

-- Chuck

--
Chuck Durfee
Lead Software Architect, CentreSuite
TSYS iSolutions, Golden
Email cdur...@tsys.com<mailto:cdur...@tsys.com>

Tomas Matousek 
<tomas.matou...@microsoft.com<mailto:tomas.matou...@microsoft.com>>
Sent by: 
ironruby-core-boun...@rubyforge.org<mailto:ironruby-core-boun...@rubyforge.org>

09/30/2009 10:27 AM
Please respond to
ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>


To

"ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>" 
<ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>>

cc

Subject

Re: [Ironruby-core] calling ruby scripts from C#







If the base class is defined in file “foo.rb” and used in file “bar.rb” this 
should also work:

engine.ExecuteFile(“foo.rb”);
engine.ExecuteFile(“bar.rb”);

Example:

C:\Temp>type foo.rb
class C
end
C:\Temp>type bar.rb
class D < C
end
p D.ancestors

C:\Temp>rbd
IronRuby 0.9.1.0 on .NET 2.0.50727.4918
Copyright (c) Microsoft Corporation. All rights reserved.

>>> engine = IronRuby.create_engine
=> Microsoft.Scripting.Hosting.ScriptEngine
>>> engine.execute_file("foo.rb")
=> Microsoft.Scripting.Hosting.ScriptScope
>>> engine.execute_file("bar.rb")
[D, C, Object, Kernel]
=> Microsoft.Scripting.Hosting.ScriptScope

Tomas

From: 
ironruby-core-boun...@rubyforge.org<mailto:ironruby-core-boun...@rubyforge.org> 
[mailto:ironruby-core-boun...@rubyforge.org]<mailto:[mailto:ironruby-core-boun...@rubyforge.org]>
 On Behalf Of cdur...@tsys.com<mailto:cdur...@tsys.com>
Sent: Wednesday, September 30, 2009 8:58 AM
To: ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>
Subject: Re: [Ironruby-core] calling ruby scripts from C#


In our application, we also found we found 'load' useful in some circumstances 
to force reloading of script files, since 'require' will not reload files it 
knows it's already loaded.

-- Chuck

--
Chuck Durfee
Lead Software Architect, CentreSuite
TSYS iSolutions, Golden
Email cdur...@tsys.com<mailto:cdur...@tsys.com>

Ivan Porto Carrero <i...@flanders.co.nz<mailto:i...@flanders.co.nz>>
Sent by: 
ironruby-core-boun...@rubyforge.org<mailto:ironruby-core-boun...@rubyforge.org>

09/30/2009 09:41 AM


Please respond to
ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>



To

ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org>

cc

Subject

Re: [Ironruby-core] calling ruby scripts from C#











root
 |_ lib
      |_ great_class.rb
 |_ test
      |_ test_great_class.rb

let's say I add root to my load path
then I can reach the files in lib with require 'lib/great_class'

or in test_great_class.rb you can do
require File.dirname(__FILE__) + "/../lib/great_class"

you are free to add the extension in case you're using require.

---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz<http://flanders.co.nz/>
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)



On Wed, Sep 30, 2009 at 4:23 PM, Eelco Henderichs 
<li...@ruby-forum.com<mailto:li...@ruby-forum.com>> wrote:
Thanks! The require a file (containing the base) option works.

But adding the path to the file containing the base class does not. Here
C# reports an error that the file can not be found. Don't what's wrong
here, but for know the require a file option will do the trick.
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core

________________________________

The information contained in this communication (including any attachments 
hereto) is confidential and is intended solely for the personal and 
confidential use of the individual or entity to whom it is addressed. If the 
reader of this message is not the intended recipient or an agent responsible 
for delivering it to the intended recipient, you are hereby notified that you 
have received this communication in error and that any review, dissemination, 
copying, or unauthorized use of this information, or the taking of any action 
in reliance on the contents of this information is strictly prohibited. If you 
have received this communication in error, please notify us immediately by 
e-mail, and delete the original message. Thank you 
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core

________________________________

The information contained in this communication (including any attachments 
hereto) is confidential and is intended solely for the personal and 
confidential use of the individual or entity to whom it is addressed. If the 
reader of this message is not the intended recipient or an agent responsible 
for delivering it to the intended recipient, you are hereby notified that you 
have received this communication in error and that any review, dissemination, 
copying, or unauthorized use of this information, or the taking of any action 
in reliance on the contents of this information is strictly prohibited. If you 
have received this communication in error, please notify us immediately by 
e-mail, and delete the original message. Thank you
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to