[#389739] Ruby Challenge — teresa nuagen <unguyen90@...>

Here is a ruby challenge for all you computer science lovers out there,

22 messages 2011/11/05
[#389769] Re: Ruby Challenge — "Jonan S." <jonanscheffler@...> 2011/11/05

Totally unrelated to any husker computer science programs right? Like

[#389905] Re: Ruby Challenge — Stephen Ramsay <sramsay.unl@...> 2011/11/09

Jonan S. wrote in post #1030330:

[#389907] Re: Ruby Challenge — aseret nuagen <unguyen90@...> 2011/11/09

> You mean like the professor for the course? Because that would be me .

[#389915] Re: Ruby Challenge — Robert Klemme <shortcutter@...> 2011/11/09

On Wed, Nov 9, 2011 at 4:52 AM, aseret nuagen <unguyen90@aim.com> wrote:

[#389792] Tricky DSL, how to do it? — Intransition <transfire@...>

I'd want to write a DSL such that a surface method_missing catches

18 messages 2011/11/06

[#389858] Compiling Ruby Inline C code - resolving errors — Martin Hansen <mail@...>

I am trying to get this Ruby inline C code http://pastie.org/2825882 to

12 messages 2011/11/08

[#389928] Forming a Ruby meetup group... — "Darryl L. Pierce" <mcpierce@...>

Where I work we have a local Ruby group that used to meet up, until the

12 messages 2011/11/09

[#389950] The faster way to read files — "Noé Alejandro" <casanejo@...>

Does anybody know which is the fastest way to read a file? Lets say

18 messages 2011/11/09

[#390064] referring to version numbers in a gem — Chad Perrin <code@...>

How do I specify and access a gem's version number within the code of the

28 messages 2011/11/11

[#390238] RVM problem, plz help — Misha Ognev <b1368810@...>

Hi, I have this problem:

15 messages 2011/11/16

[#390308] any command line tools for querying yaml files — Rahul Kumar <sentinel1879@...>

(Sorry, this is not exactly a ruby question).

11 messages 2011/11/18

[#390338] Newbie - cmd question — Otto Dydakt <ottodydakt@...>

I've literally JUST downloaded ruby from rubyinstaller.org.

21 messages 2011/11/19
[#390342] Re: Newbie - cmd question — Otto Dydakt <ottodydakt@...> 2011/11/19

OK thank you, I uninstalled & reinstalled, checking the three boxes at

[#390343] Re: Newbie - cmd question — "Ian M. Asaff" <ian.asaff@...> 2011/11/19

did you type "irb" first to bring up the ruby command prompt?

[#391154] Re: Newbie - cmd question — "Hussain A." <hahmad@...> 2011/12/12

Hi all,

[#391165] Re: Newbie - cmd question — Luis Lavena <luislavena@...> 2011/12/12

Hussain A. wrote in post #1036281:

[#390374] Principle of Best Principles — Intransition <transfire@...>

I seem to run into a couple of design issue a lot and I never know what is

16 messages 2011/11/20

[#390396] how to call Function argument into another ruby script. — hari mahesh <harismahesh@...>

Consider I have a ruby file called library.rb.

10 messages 2011/11/21

[#390496] How to make 1.9.2 my default version using RVM — Fily Salas <fs_tigre@...>

Hi,

25 messages 2011/11/24

[#390535] Is high-speed sorting impossible with Ruby? — "Gaurav C." <chande.gaurav@...>

Well, first of all, I'm new to Ruby, and to this forum. So, hello. :)

39 messages 2011/11/25
[#390580] Re: Is high-speed sorting impossible with Ruby? — Joao Pedrosa <joaopedrosa@...> 2011/11/27

Hi,

[#390593] Re: Is high-speed sorting impossible with Ruby? — "Gaurav C." <chande.gaurav@...> 2011/11/27

Joao Pedrosa wrote in post #1033884:

[#390600] Re: Is high-speed sorting impossible with Ruby? — Douglas Seifert <doug@...> 2011/11/27

A big gain can be had by disabling the garbage collector. Here is my best

[#390601] Re: Is high-speed sorting impossible with Ruby? — Douglas Seifert <doug@...> 2011/11/27

I've thrown various solutions up on github here:

[#390650] Loading a faulty ruby file - forcing this — Marc Heiler <shevegen@...>

Hi.

10 messages 2011/11/29

[#390689] Stupid question — James Gallagher <lollyproductions@...>

Hi everyone.

22 messages 2011/11/30

Re: Loading a faulty ruby file - forcing this

From: Robert Klemme <shortcutter@...>
Date: 2011-11-29 21:39:08 UTC
List: ruby-talk #390677
On Tue, Nov 29, 2011 at 5:45 PM, Marc Heiler <shevegen@linuxmail.org> wrote=
:
>> You could hook into Object#method_missing and
>> Object.const_missing to handle NameErrors before
>> they happen, although I'd try to redesign my code
>> in any possible way before resorting to such methods.
>
> Hmmm. My approach would only work easily if I'd
> be able to continue loading the whole ruby file
> in question. I am not sure I understood this solution
> well though - I have to handle NameErrors *before*
> they happen?
>
>> An exception always immediately stops execution at the
>> point where it is thrown and unwinds the stack until it
>> finds a handler (or the process terminates).
>
> Oh I see! Would be neat to be able to suppress that
> when one wants to, with the rest of the code continued
> to be read and interpreted.

You cannot do that because exception throwing code is written with the
knowledge that execution does *not* continue after the exception.  In
other words if the exception does not throw it is ensured code is in
proper state.  By suppressing exceptions code cannot rely on proper
state and might want to throw another exception later.

>> Basically you could wrap every individual section with
>> "begin rescue end". Then such a section would be the
>> smallest part which could fail. Alternatively you could
>> split the file in multiple parts and have a specific
>> implementation of "load" which ignores errors:
>
>> def load_ignorant(s)
>> =A0load(s)
>> rescue Exception
>> =A0 # eat it
>> end
>
> Hmm you mean wrap the file into different smaller files
> and load these? Probably feasible. I'd however like to
> keep a constraint as in having a large ruby file available
> already. It also sounds like too much work to split the
> file in question up.
>
>> Why do you want to do that? That sounds like a bad plan
>> to me since you won't notice any issues and your
>> application's state is unclear.
>
> The demo code in question just shows that the ruby file
> only has invalid calls to non-existent methods. But
> otherwise, it is fine. I would argue that by definition
> there can not be any issues with it (from that faulty
> ruby file) because after all it is faulty anyway and
> there are only two states for it - either it contains
> valid ruby code or it is invalid (in which case it should
> be ignored).
>
> Consider it a crazy wish for purposely sloppy programming
> where perfection can stop at 40% rather than go for the
> usual 100%.
>
> As for the reason why I want to do that - I want to run
> invalid code which could become partially valid, rather
> than stopped when encountering an Exception.

Why?

> Consider it as something that will never find its way
> into any program.

If it exists, it will. :-)

> If it is too cumbersome to achieve though then this idea
> already falls short.

I do not think this is a good idea.  There was an article of a famous
author (might have been von Neumann) who said that the difference
between machines and natural systems is that we build machines so
errors show up as quickly as possible whereas nature tries to reduce
errors so systems can continue to work.

The semantic of a half valid piece of code is unknown.  Hence you
cannot rely on it doing what you intended it to do.

Kind regards

robert


--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread