[#16113] Strange idea... exporting from a scope — "Hal E. Fulton" <hal9000@...>

Hello...

33 messages 2001/06/01

[#16364] Re: Garbage Collection? — Michael Davis <mdavis@...>

Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs.

12 messages 2001/06/09

[#16400] Symbolic Computation III — Mathieu Bouchard <matju@...>

14 messages 2001/06/11

[#16502] Playing with Ruby Syntax (was: Initial thoughts about Ruby From a Smalltalk Programmer) — jweirich@...

Michael> Hi Everyone, I have to say I'm utterly fascinated by Ruby

9 messages 2001/06/15

[#16661] Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — Bob Alexander <balexander@...>

I've installed Ruby 1.6.4 on a FreeBSD 4.0 machine, and get the

11 messages 2001/06/20

[#16686] opening db files made by apache dbmmanage — Fritz Heinrichmeyer <fritz.heinrichmeyer@...>

14 messages 2001/06/21

[#16801] rb_define_class() vs Class.new() — Kero van Gelder <kero@...4050.upc-d.chello.nl>

Hi,

18 messages 2001/06/23
[#16802] Re: rb_define_class() vs Class.new() — ts <decoux@...> 2001/06/23

>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:

[#16841] RE: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...>

Next week I'll try to rebuild Ruby with Unicode strings. But it would be

15 messages 2001/06/25
[#16842] Re: national characters is strings — matz@... (Yukihiro Matsumoto) 2001/06/25

Hi,

[#16843] Re: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/25

That's good enough. But I'm afraid this could ( not would ) cause string

[#16868] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

14 messages 2001/06/25
[#16873] RE: Something strange with Ruby's inheritance mechanism — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/26

[#16879] Re: Something strange with Ruby's inheritance mechanism — Mathieu Bouchard <matju@...> 2001/06/26

On Tue, 26 Jun 2001, Aleksei Guzev wrote:

[#16869] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

12 messages 2001/06/25

[#16881] — "Aleksei Guzev" <aleksei.guzev@...>

32 messages 2001/06/26
[#16916] Re: Method overloading (option) Was: Re: — "Wayne Blair" <wayne.blair@...> 2001/06/26

[#16920] Re: Method overloading (option) Was: Re: — matz@... (Yukihiro Matsumoto) 2001/06/26

Hi,

[#16888] finalizers, destructors and whatnot — "David Leal" <david@...>

Hi all,

16 messages 2001/06/26

[#17037] keeping an Exception object alive — David Alan Black <dblack@...>

Hello --

19 messages 2001/06/28
[#17055] Re: keeping an Exception object alive — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17066] RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17076] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17079] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17138] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/07/02

Hi,

[#17141] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/07/02

Hello --

[#17142] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — ts <decoux@...> 2001/07/02

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

[ruby-talk:16684] Re: cjust?

From: Robert Feldt <feldt@...>
Date: 2001-06-21 08:30:51 UTC
List: ruby-talk #16684
On Thu, 21 Jun 2001, ts wrote:

> >>>>> "R" == Robert Feldt <feldt@ce.chalmers.se> writes:
> 
> R>   def cjust(width)
> 
>  This ?
> 
> pigeon% ruby -e 'p "abc".center(12)'
> "    abc     "
> pigeon% 
> 
You see, already too many features/methods for my little brain... ;-)

To remind me not to forget studying pickaxe book and ri output more
thoroughly in the future (before mailing to ruby-talk!) I patched ri so
that

$ ri Str#cen
The method named `cen' is not unique among Ruby's classes and modules:
     String#center

now outputs

$ ri Str#cen
---------------------------------------------------------- String#center
     str.center( anInteger ) -> aString
------------------------------------------------------------------------
     If anInteger is greater than the length of str, returns a new
     String of length anInteger with str centered between spaces;
     otherwise, returns str.
        "hello".center(4)    #=> "hello"
        "hello".center(20)   #=> "       hello        "

The diff is below. 
(Dave: Check out for other bugs I might have introduced though...)

Thanks and regards,

Robert

--- ri.rb.old	Thu Jun 21 10:26:17 2001
+++ ri.rb	Thu Jun 21 10:26:24 2001
@@ -222,12 +222,18 @@
     for cname in classList
       cl = findClass(cname)
       meths = cl.findMethods(mname, type == "::")
-      meths.each {|m| res <<
"#{cname}#{m.type=='class'?'::':'#'}#{m.name}" }
+      meths.each {|m| res << [cl, m, cname, m.type, m.name]}
     end
     
-    @op.putListOfMethodsMatchingName(mname) do
-      @op.putMethodList(res)
+    if res.length == 1
+      return res.first[0..1]
+    elsif res.length > 1
+      @op.putListOfMethodsMatchingName(mname) do
+	res.map! {|e| "#{e[2]}#{e[3]=='class'?'::':'#'}#{e[4]}" }
+	@op.putMethodList(res)
+      end
     end
+    return nil
   end
   
   
@@ -244,8 +250,9 @@
     
     case cl
     when Array
-      matchMethodsInClasses(cl, type, mname)
-      
+      res = matchMethodsInClasses(cl, type, mname)
+      reportMethod(res[0], res[1]) if res
+
     when ClassModule
       meths = cl.findMethods(mname, type == "::")
       
@@ -256,11 +263,7 @@
         throw :exit, 3
         
       when 1
-        meth = meths[0]
-        @op.putMethodDescription do
-          @op.putMethodHeader(cl.name, meth.typeAsSeparator, meth.name,
meth.callseq)
-          printFragments(meth) unless @synopsis
-        end
+        reportMethod(cl, meths.first)
         
       else
         @op.putListOfMethodsMatchingName(cl.name + type + mname) do
@@ -269,6 +272,16 @@
                             })
         end
       end
+    end
+  end
+
+  ##
+  # Report on method
+  #
+  def reportMethod(cl, meth)
+    @op.putMethodDescription do
+      @op.putMethodHeader(cl.name, meth.typeAsSeparator, meth.name,
meth.callseq)
+      printFragments(meth) unless @synopsis
     end
   end


In This Thread

Prev Next