[#293058] Hello, world? (#158) — Matthew D Moss <matthew.moss@...>

The three rules of Ruby Quiz 2:

41 messages 2008/03/01

[#293075] Scan HTML — Tom Arra <turtleman14789@...>

So I am new to Ruby scripting so I am not sure if this is possible or

16 messages 2008/03/01

[#293195] How do I get the server name? — "laredotornado@..." <laredotornado@...>

Hi,

13 messages 2008/03/02

[#293248] Split the string — Sijo Kg <sijo@...>

I have a string

17 messages 2008/03/03

[#293307] Normal For Loop — Cory Cory <cg821105@...>

I'm new to Ruby. Is there such thing as a C++ style (and most others)

16 messages 2008/03/03

[#293327] Class and inheritance — August0866 <august0866@...>

Hi All,

21 messages 2008/03/03

[#293399] Why is this not implemented in Ruby — Damjan Rems <d_rems@...>

16 messages 2008/03/03

[#293407] Question on the Ruby Programming Language Book — Bharat Ruparel <bruparel@...>

I have been reading The Ruby Programming Language book by David Flanagan

11 messages 2008/03/03

[#293445] Better performance than native unix commands? — Ma Sa <ntwrkd@...>

I have an issue with nfs and listing a large amount of files that I am

16 messages 2008/03/04

[#293484] jruby vs mri memory management — "Michal Suchanek" <hramrach@...>

Hello

12 messages 2008/03/04

[#293493] Re: The Ruby Programming Language - what are your thoughts? — coigner <coignerATgmail@...>

On Mon, 03 Mar 2008 22:04:55 -0500, Esmail wrote:

20 messages 2008/03/04
[#293944] Re: The Ruby Programming Language - what are your thoughts? — Clifford Heath <no@...> 2008/03/09

Esmail wrote:

[#293955] Re: The Ruby Programming Language - what are your thoughts? — Dave Thomas <dave@...> 2008/03/09

[#293982] Re: The Ruby Programming Language - what are your thoughts? — Clifford Heath <no@...> 2008/03/10

Dave Thomas wrote:

[#293994] Re: The Ruby Programming Language - what are your thoughts? — James Gray <james@...> 2008/03/10

On Mar 9, 2008, at 7:46 PM, Clifford Heath wrote:

[#293601] collect with index? — Tim Conner <plump4651@...>

simple question: how can I do a collect with index? This should be

13 messages 2008/03/05

[#293715] duplicating characters in a string — Adam Akhtar <adamtemporary@...>

If i have a string "abc" and want to make it like this "aabbcc", how do

30 messages 2008/03/06
[#293720] Re: duplicating characters in a string — Gary Wright <gwtmp01@...> 2008/03/06

[#293723] Re: duplicating characters in a string — Adam Akhtar <adamtemporary@...> 2008/03/06

[#293757] IO#Foreach -- Max line length — Tristin Davis <tristin.colby@...>

I'm trying to emulate the new feature in 1.9 that allows you to specify

13 messages 2008/03/06
[#293762] Re: IO#Foreach -- Max line length — 7stud -- <bbxx789_05ss@...> 2008/03/06

Tristin Davis wrote:

[#293809] Dynamic class thingies? (Okay, not sure how to title this one) — coigner <coignerATgmail@...>

Asking for ideas here but let me preface...

9 messages 2008/03/07

[#293927] Trac - Does it make sense to keep http://trac.edgewall.org/ticket/4315 open? — Ilias Lazaridis <ilias@...>

Response to message [1] on trac.devel (as I cannot write there, due to

13 messages 2008/03/09

[#293986] Offering to work directly for the Ruby community! — Gregory Brown <gregory.t.brown@...>

Hi folks,

21 messages 2008/03/10

[#293996] Re: Best practices for Ruby Meta-programming — John Carter <john.carter@...>

On Thu, 6 Mar 2008, harshal wrote:

10 messages 2008/03/10
[#294029] Re: Best practices for Ruby Meta-programming — "Robert Dober" <robert.dober@...> 2008/03/10

On Mon, Mar 10, 2008 at 4:06 AM, John Carter <john.carter@tait.co.nz> wrote:

[#293999] Reding unicode characters? — dare ruby <martin@...>

Hi friends,

13 messages 2008/03/10

[#294015] newbie question — Frantisek Psotka <frantisek.psotka@...>

is in ruby operator for:

15 messages 2008/03/10

[#294034] Getting files out of a .tar.gz archive — celldee <celldee@...>

Hi,

11 messages 2008/03/10

[#294059] Which is better -- method option or multiple methods? — Trans <transfire@...>

In the case of limited options, like the following example, which is

19 messages 2008/03/10

[#294081] Re: shortcut for x = [x] unless x.is_a?(Array) — Siep Korteling <s.korteling@...>

Aryk Grosz wrote:

11 messages 2008/03/10

[#294111] setting local variables via eval — ara howard <ara.t.howard@...>

16 messages 2008/03/11

[#294192] whats the error here? — Adam Akhtar <adamtemporary@...>

My IDE (aptana rails) seems to complain about syntax with this code

15 messages 2008/03/11
[#294197] Re: whats the error here? — Sebastian Hungerecker <sepp2k@...> 2008/03/11

Adam Akhtar wrote:

[#294210] Yet another Windows installer — Phillip Gawlowski <cmdjackryan@...>

Hello, list.

32 messages 2008/03/12
[#294421] Re: [ANN] Yet another Windows installer — James Tucker <jftucker@...> 2008/03/13

[#294231] sort array by some text — Ma Fe <frytaz@...>

Hi, i have array with file names

18 messages 2008/03/12
[#294233] Re: sort array by some text — "Todd Benson" <caduceass@...> 2008/03/12

On Wed, Mar 12, 2008 at 12:02 AM, Ma Fe <frytaz@gmail.com> wrote:

[#294234] Re: sort array by some text — Ma Fe <frytaz@...> 2008/03/12

well I dont know where in array i have .txt files but its sure that

[#294281] elsunless: Compiles but does not run. Standard? — Fred Talpiot <fredistic@...>

In Ruby:

10 messages 2008/03/12

[#294297] including general variables in modules — Mario Ruiz <mario@...>

I'm trying to create different scenarios so I thought to do something

14 messages 2008/03/12

[#294366] Parametric module or injecting code via class method? — Trans <transfire@...>

Which approach is better: parametric module or an injecting class

20 messages 2008/03/13
[#294474] Re: Parametric module or injecting code via class method? — ara howard <ara.t.howard@...> 2008/03/13

[#294486] Re: Parametric module or injecting code via class method? — Robert Klemme <shortcutter@...> 2008/03/13

On 13.03.2008 20:35, ara howard wrote:

[#294499] Re: Parametric module or injecting code via class method? — ara howard <ara.t.howard@...> 2008/03/13

[#294799] Re: Parametric module or injecting code via class method? — Robert Klemme <shortcutter@...> 2008/03/16

On 14.03.2008 00:42, ara howard wrote:

[#294808] Re: Parametric module or injecting code via class method? — "Sean O'Halpin" <sean.ohalpin@...> 2008/03/16

On Sun, Mar 16, 2008 at 9:30 PM, Robert Klemme

[#294481] use reqex to get the middle character and repeat it — Adam Akhtar <adamtemporary@...>

say i have the string "qxq" and i want to repeat the middle char 4 times

10 messages 2008/03/13

[#294506] What is Ruby's biggest strength ? — Tuan Minh <tanthuyhoang85@...>

I'm learning Ruby an Rails.

34 messages 2008/03/14
[#294592] Re: What is Ruby's biggest strength ? — Jeremy Henty <onepoint@...> 2008/03/14

On 2008-03-14, Avdi Grimm <avdi@avdi.org> wrote:

[#294632] Re: What is Ruby's biggest strength ? — Marc Heiler <shevegen@...> 2008/03/14

> What helps Ruby stronger than other programming languages

[#294634] Re: What is Ruby's biggest strength ? — 7stud -- <bbxx789_05ss@...> 2008/03/15

Marc Heiler wrote:

[#294522] Food Database (#159) — "Matthew Moss" <matthew.moss@...>

Note that because I am traveling tomorrow, I've posted this week's

15 messages 2008/03/14

[#294564] Robert's Ruby Riddle: Methodical Digits — "Robert Dober" <robert.dober@...>

Hi list

10 messages 2008/03/14

[#294573] How to Read Ruby API / Documentation — Chinna Karuppan <chinnakaruppan@...>

Hi,

13 messages 2008/03/14

[#294648] standard library documentation — Tom Cloyd <tomcloyd@...>

An example of a puzzle I've run into many times before -

18 messages 2008/03/15
[#294652] Re: standard library documentation — Tom Cloyd <tomcloyd@...> 2008/03/15

Tom Cloyd wrote:

[#294693] How to make net-ping thread safe? — Laurent Julliard <laurent@...>

Hi,

15 messages 2008/03/15

[#294711] WWW::Mechanize and basic_auth — "Todd A. Jacobs" <tjacobs-sndr-019fdb@...>

I'm trying to get basic authentication to work with Ruby 1.8 and

12 messages 2008/03/15

[#294746] argh! more undocumented mysteries: to_yaml — Tom Cloyd <tomcloyd@...>

Beginner woes, here, no doubt, but woes nevertheless.

29 messages 2008/03/16
[#294749] Re: argh! more undocumented mysteries: to_yaml — Stefano Crocco <stefano.crocco@...> 2008/03/16

On Sunday 16 March 2008, Tom Cloyd wrote:

[#294792] returning text between two markers without markers included — Adam Akhtar <adamtemporary@...>

12 messages 2008/03/16
[#294793] Re: returning text between two markers without markers included — Xavier Noria <fxn@...> 2008/03/16

On Mar 16, 2008, at 21:02 , Adam Akhtar wrote:

[#294794] Re: returning text between two markers without markers inclu — Adam Akhtar <adamtemporary@...> 2008/03/16

Thanks Xavier,

[#294828] For Comment: Gem Browser — "s.ross" <cwdinfo@...>

It occurred to me that the way I was finding Gems was by making notes

23 messages 2008/03/17

[#294849] Ruby "Speedup" hints? — Marc Heiler <shevegen@...>

Anyone of you has a few hints on how to speed up ruby code?

34 messages 2008/03/17
[#294888] Re: Ruby "Speedup" hints? — "Gerardo Santana Gez Garrido" <gerardo.santana@...> 2008/03/17

On Mon, Mar 17, 2008 at 12:42 PM, Marc Heiler <shevegen@linuxmail.org> wrote:

[#294894] Re: Ruby "Speedup" hints? — Paul Brannan <pbrannan@...> 2008/03/17

On Tue, Mar 18, 2008 at 02:17:22AM +0900, Gerardo Santana G?mez Garrido wrote:

[#294919] Re: Ruby "Speedup" hints? — "Gerardo Santana Gez Garrido" <gerardo.santana@...> 2008/03/18

On Mon, Mar 17, 2008 at 6:08 PM, Paul Brannan <pbrannan@atdesk.com> wrote:

[#294859] Test for Internet Connection — Cory Cory <cg821105@...>

Does anyone know a way to test to see if the computer is connected to

16 messages 2008/03/17
[#294872] Re: Test for Internet Connection — Roger Pack <rogerpack2005@...> 2008/03/17

I usually do something like this on my machine

[#295150] combine array(string) to string? — Pat Kiatchaipipat <hb.pat87@...>

str= "ABCDE"

11 messages 2008/03/20

[#295184] extending ruby with C++ — 7stud -- <bbxx789_05ss@...>

I'm using this old (2001) mini tutorial:

17 messages 2008/03/20

[#295212] including instance methods and setting an instance variable — Leon Bogaert <leon@...>

Hi all,

20 messages 2008/03/20
[#295234] Re: including instance methods and setting an instance variable — "David A. Black" <dblack@...> 2008/03/21

Hi --

[#295246] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

Thanks for the clear explanation David!

[#295255] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

Can I "connect" with the instance if it get's instanciated? Because I

[#295257] Re: including instance methods and setting an instance varia — Robert Klemme <shortcutter@...> 2008/03/21

On 21.03.2008 11:15, Leon Bogaert wrote:

[#295327] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

Thanks Robert!

[#295328] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/21

This guy: http://www.ruby-forum.com/topic/142444

[#295331] Re: including instance methods and setting an instance varia — "David A. Black" <dblack@...> 2008/03/21

Hi --

[#295358] Re: including instance methods and setting an instance varia — Leon Bogaert <leon@...> 2008/03/22

Ah thanks David.

[#295365] Re: including instance methods and setting an instance varia — Robert Klemme <shortcutter@...> 2008/03/22

On 22.03.2008 09:34, Leon Bogaert wrote:

[#295375] Re: including instance methods and setting an instance varia — "Robert Dober" <robert.dober@...> 2008/03/22

On Sat, Mar 22, 2008 at 11:34 AM, Robert Klemme

[#295376] Re: including instance methods and setting an instance varia — Robert Klemme <shortcutter@...> 2008/03/22

On 22.03.2008 13:43, Robert Dober wrote:

[#295288] dynamically defining a method on an instance that references vars in enclosing scope? — "Christopher J. Bottaro" <cjbottaro@...>

Hello. I want to do this.

9 messages 2008/03/21

[#295443] Sytem hook for instance names? — Jeff Patterson <jeff_patterson@...>

Is there a system hook that allows a method to get an instance's symbol

15 messages 2008/03/23

[#295468] Rich Graphic Interface with Ruby — Diego Bernardes <di3go.bernardes@...>

What is the best way to get a really nice gui in ruby?

11 messages 2008/03/24

[#295472] Bootstrapping Ruby with MinGW: selfhosted and test sandbox! — Luis Lavena <luislavena@...>

Hello List,

33 messages 2008/03/24

[#295476] functions, arguments and changing their value permantently — Adam Akhtar <adamtemporary@...>

Im coming over to Ruby from C++ after a long break from programming. One

9 messages 2008/03/24

[#295500] Beginner's question — Peter Johnsson <avokadoret@...>

This question may be a bit too "simple" for this forum which seems to

15 messages 2008/03/24

[#295591] generating unique random numbers — Jimmy Palmer <modernfossil@...>

I'm trying to generate 8 unique random numbers between 1 and 13.

15 messages 2008/03/25

[#295605] thread.rb — "Adam Bender" <abender@...>

I want to modify the Queue class in thread.rb, so I first searched for

12 messages 2008/03/25

[#295615] Why git instead of mercurial? — "John Wells" <lists@...>

It seems like the hot new thing these days in Ruby-land is to host

45 messages 2008/03/25
[#295623] Re: Why git instead of mercurial? — "Matt Todd" <chiology@...> 2008/03/25

I really don't think the internal implementation has that much

[#295736] Re: Why git instead of mercurial? — James Britt <james.britt@...> 2008/03/25

Matt Todd wrote:

[#295629] numbers of a record in an array — Bu Mihai <mihai.bulhac@...>

a have an array array=["a","b","c","a","b"]

17 messages 2008/03/25

[#295661] Pros and Cons of Ruby vs JRuby for GUI — "Victor Reyes" <victor.reyes@...>

Although I have been using Ruby for awhile, I am really a beginner as I use

11 messages 2008/03/25

[#295712] remove regex matched line question — Ikuta Lin <ikuta_lin@...>

I wrote the code to query a txt file, and tried remove matched line like

13 messages 2008/03/25

[#295714] Is possible Ruby to use CRLF instead of LF? — "Iñaki Baz Castillo" <ibc@...>

SGksIEFGQUlLIFJ1YnkgdXNlcyBMRiA9IFxuIHRvIGRldGVjdCBuZXdsaW5lLiBCdXQgbm93IEkn

11 messages 2008/03/25

[#295761] golf: tabs to bullets — "Martin DeMello" <martindemello@...>

Given:

18 messages 2008/03/25

[#295828] INTERPRETED LANGUAGE — Jitendra Rai <jitendra.vinsol@...>

IS IT NECESSARY FOR AN INTERPRETED LANGUAGE TO BE CASE SENSITIVE?

14 messages 2008/03/26

[#295854] The inject function — Shendelzare Silkwood <zerruellx@...>

I want to add together numbers in an array with the inject command. I

12 messages 2008/03/26

[#295876] "loop do IO.select([io], nil, nil)" eats 95% of CPU, any other way? — "Iñaki Baz Castillo" <ibc@...>

SGksIHdoaWNoIGlzIHRoZSBtb3N0IGVmZmljaWVudCB3YXkgb2YgcmVjZWl2aW5nIGFuZCBwcm9j

14 messages 2008/03/26

[#295881] Sun's Overview of Ruby and JRuby — Veloso <starlover@...>

A very good article

11 messages 2008/03/26

[#296063] Web-based games? — Hal Fulton <hal9000@...>

Who's interested in developing a few web-based games?

25 messages 2008/03/28
[#296090] Re: Web-based games? — "M. Edward (Ed) Borasky" <znmeb@...> 2008/03/28

Hal Fulton wrote:

[#296146] Re: Web-based games? — John Joyce <dangerwillrobinsondanger@...> 2008/03/29

[#296160] Re: Web-based games? — Marc Heiler <shevegen@...> 2008/03/29

> Be careful about intellectual property, especially trademarks,

[#296064] hrpicot - cant extract what i want from page — Adam Akhtar <adamtemporary@...>

Hi im starting to use hrpicot and im having problems extracting

9 messages 2008/03/28

[#296098] Why Ruby do not optimize code at all? — Heesob Park <phasis@...>

Hi,

29 messages 2008/03/28
[#296112] Re: Why Ruby do not optimize code at all? — "Park Heesob" <phasis68@...> 2008/03/28

SGksDQotLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tIA0KRnJvbTogInRzIiA8ZGVjb3V4QG1v

[#296115] Re: Why Ruby do not optimize code at all? — ts <decoux@...> 2008/03/28

Park Heesob wrote:

[#296151] Is ruby is faster than all Object oriented Scripting langs — "bramu.ss@..." <bramu.ss@...>

Hello,

37 messages 2008/03/29

[#296173] Help on best way to gather/sort results [Array/Hash]? — Tony De <tonydema@...>

Greetings ruby fans,

18 messages 2008/03/29
[#296177] Re: Help on best way to gather/sort results [Array/Hash]? — "Todd Benson" <caduceass@...> 2008/03/29

On Sat, Mar 29, 2008 at 12:02 AM, Tony De <tonydema@gmail.com> wrote:

[#296179] Re: Help on best way to gather/sort results ? — Tony De <tonydema@...> 2008/03/29

Todd Benson wrote:

[#296180] Re: Help on best way to gather/sort results ? — Tony De <tonydema@...> 2008/03/29

Tony De wrote:

[#296182] Re: Help on best way to gather/sort results ? — Christian <chippersbox@...> 2008/03/29

Wouldn't you want something like @results.sort {|x, y| y[1] <=> x[1]}?

[#296200] rexml to slow — Bu Mihai <mihai.bulhac@...>

I have an xml file and sometimes i call the find_first_recursive method;

19 messages 2008/03/29
[#296325] Re: rexml to slow — Robert Klemme <shortcutter@...> 2008/03/30

On 29.03.2008 08:46, Bu Mihai wrote:

[#296364] Re: rexml to slow — Bu Mihai <mihai.bulhac@...> 2008/03/30

Robert Klemme wrote:

[#296371] Re: rexml to slow — Robert Klemme <shortcutter@...> 2008/03/30

On 30.03.2008 20:23, Bu Mihai wrote:

[#296379] Re: rexml to slow — Bu Mihai <mihai.bulhac@...> 2008/03/30

Robert Klemme wrote:

[#296205] RubyGems 1.1.0 — Eric Hodel <drbrain@...7.net>

= Announce: RubyGems Release 1.1.0

22 messages 2008/03/29

[#296306] inject's pathological case... — "Just Another Victim of the Ambient Morality" <ihatespam@...>

I'm not sure how I feel about inject's pathological case. What do you

28 messages 2008/03/30
[#296309] Re: inject's pathological case... — 7stud -- <bbxx789_05ss@...> 2008/03/30

Just Another Victim... wrote:

[#296311] Re: inject's pathological case... — 7stud -- <bbxx789_05ss@...> 2008/03/30

Oh, yeah:

[#296331] Re: inject's pathological case... — "Rick DeNatale" <rick.denatale@...> 2008/03/30

On 3/30/08, 7stud -- <bbxx789_05ss@yahoo.com> wrote:

[#296375] GC help — "Joey Marino" <joey.da3rd@...>

I am still running out of memory with my ruby application. For some reason,

15 messages 2008/03/30
[#296376] Re: GC help — Tim Hunter <TimHunter@...> 2008/03/30

Joey Marino wrote:

[#296477] Primes in P? — Charles Zheng <snarles2@...>

There is an algorithm that tests primes with a polynomial running time:

13 messages 2008/03/31

Introspecting Method Arguments with Method.arity

From: Paul Mucur <mudge@...>
Date: 2008-03-28 19:08:42 UTC
List: ruby-talk #296129
Is there a way to return the number of required arguments, the number  
of optional arguments and whether or not a splat is present for a  
method?

The closest I've managed to find is Method.arity which will return a  
number which indicates the number of required arguments and the  
*presence* of optional arguments only (but in a non-obvious way):

With only required arguments, it behaves as expected:

 >> def foo(a, b); end
=> nil
 >> method(:foo).arity
=> 2

When optional arguments are introduced however:

 >> def foo(a, b=2); end
=> nil
 >> method(:foo).arity
=> -2

Documentation reveals that when a method has optional arguments, the  
arity is -n - 1 where n is the number of required arguments (which  
seems a little arbitrary, is there a historical reason for this?).

However, adding new optional arguments and splats makes no difference  
to the arity:

 >> def foo(a, b=2, *c); end
=> nil
 >> method(:foo).arity
=> -2

 >> def foo(a, b=2, c=3, d=4, e=5); end
=> nil
 >> method(:foo).arity
=> -2

As for the use of such functionality: I was expanding on Chris  
Wanstrath's excellent try method (http://ozmm.org/posts/try.html)  
which is used like Io's ? operator. For example, when chaining calls  
that might return nil, instead of doing something like:

@order.owner && @order.owner.name

You can do:

@order.owner.try(:name)

I already added the ability to pass in arguments and a block (a very  
trivial change shown at the bottom of this email) but also wanted to  
extend Chris's implementation to not only use respond_to? but to also  
check that the number of arguments is correct for a method (this  
because of things like Rails overloading DateTime's to_s method to  
accept an optional argument which would raise an ArgumentError if  
attempted on nil).

e.g.
@order.placed_at.to_s(:db)
# If placed_at is nil, it still responds to to_s but we get an  
ArgumentError

As it stands I can check if there are the correct number of arguments  
if there are no optional ones but once there are it is possible to  
specify *too many* arguments and raise an exception.

e.g.
@order.placed_at.try(:to_s, :db, :something_else) # ArgumentError

You might ask why I don't simply rescue the exceptions but that would  
also rescue exceptions further down the call stack making them  
silently fail when it is only the specific method given that is to  
fail silently.

Of course, I can work around this by avoiding such overloaded methods  
(in the case of Rails' DateTime, I can use to_formatted_s which to_s  
is an alias to) but I think it remains a valid question.

To date the most relevant thing I have found is Mauricio Fernandez's  
"Using introspection to get method arguments and other information" http://eigenclass.org/hiki/method+arguments+via+introspection 
  but he seems to take a brute-force approach to determining arguments  
by repeatedly trying a diminishing number of arguments on a method  
(though I could be reading it wrong).

Thanks in advance,

-- Paul

class Object

   # An enhanced version of Chris Wanstrath's try method.
   #
   # Due to the overloading of DateTime's to_s by Rails, this version of
   # try will also silently fail if the method exists but has not been
   # supplied the right number of arguments.
   def try(method_name, *args, &block)
     if respond_to?(method_name)
       method = method(method_name)

       sufficient_arguments = if (arity = method.arity) < 0

         # There are variable arguments present.
         #
         # The best we can do here to see if we have at least
         # the required number of arguments. However, it is possible to
         # give *too many* arguments and have this return true. There  
isn't
         # too much we can do about this though as I don't know how to
         # detect if a method has a splat (which allows for infinite
         # arguments). Though even if I could, I can't return the  
number of
         # variable arguments.
         args.length >= (arity.abs - 1)
       else

         # There are only required arguments.
         args.length == arity
       end

       if sufficient_arguments
         method.call(*args, &block)
       end
     end
   end
end

In This Thread

Prev Next