[#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: Tricky DSL, how to do it?

From: Isaac Sanders <isaacbfsanders@...>
Date: 2011-11-07 12:04:45 UTC
List: ruby-talk #389813
I really think that we should all take another look at the Ruby Object
Model. Dave Thomas has a great screencast on it. This question would be
answered if the ROM was analyzed closely.

On Mon, Nov 7, 2011 at 6:56 AM, Robert Klemme <shortcutter@googlemail.com>wrote:

> On Sun, Nov 6, 2011 at 11:35 PM, Intransition <transfire@gmail.com> wrote:
> > I'd want to write a DSL such that a surface method_missing catches
> undefined
> > methods and records the blocks that they define e.g.
> >   foo do
> >     puts "foo"
> >   end
> > So I would end up with:
> >   { :foo=>#<Proc ...> }
> > Presently I have something like this:
> >
> >   #
> >   class Evaluator < BasicObject
> >     def initialize(&block)
> >       @__config__ = {}
> >       instance_eval(&block) if block
> >     end
> >     def __config__
> >       @__config__
> >     end
> >     def method_missing(sym, *args, &block)
> >       @__config__[sym] = block
> >     end
> >   end
> > However when I call on a block I want it to evaluate as if in the
> defining
> > context (in this case toplevel), not inside the "DSL" class that
> evaluated
> > via method_missing.
> >   e = Evaluator.new do
> >     foo do
> >       puts "foo"
> >     end
> >   end
> >
> >   e.__config__[:foo].call
> > Instead of what I want, I get a method missing error for #puts.
> > Any ideas?
>
> You can't have both (evaluate with self = Evaluator to trigger
> Evaluator's method missing and invoking the block in the defining
> context) at the same time.
>
> Question is, what happens if a missing method is invoked?  In your
> implementation the block is returned.   I would at least change that
> to return nil to avoid nasty side effects.  But generally execution
> cannot reasonably continue.  What about catching the exception and
> recording it?
>
> 12:54:59 ~$ ./x.rb
> {:foo=>#<Proc:0x101b3554@./x.rb:24>}
> 12:55:02 ~$ cat -n x.rb
>     1  #!/bin/env ruby19
>     2
>     3  class Evaluator < BasicObject
>     4    def initialize(&block)
>     5      @__config__ = {}
>     6
>     7      if block
>     8        begin
>     9          block.call
>    10        rescue ::NoMethodError => e
>    11          @__config__[e.name] = block
>    12          nil
>    13        end
>    14      end
>    15    end
>    16
>    17    def __config__
>    18      @__config__
>    19    end
>    20
>    21  end
>    22
>    23
>    24  e = Evaluator.new do
>    25    foo do
>    26      puts "foo"
>    27    end
>    28  end
>    29
>    30  p e.__config__
>    31
> 12:55:03 ~$
>
> Kind regards
>
> robert
>
> --
> remember.guy do |as, often| as.you_can - without end
> http://blog.rubybestpractices.com/
>
>


-- 
Sincerely,

Isaac Sanders
Section C-4B Vice Chief, Order of the Arrow
Vice Chief of Administration, Tecumseh #65
Eagle Scout

In This Thread