[前][次][番号順一覧][スレッド一覧]

ruby-changes:21342

From: drbrain <ko1@a...>
Date: Tue, 4 Oct 2011 08:17:02 +0900 (JST)
Subject: [ruby-changes:21342] drbrain:r33391 (trunk): * proc.c (proc_call): Update documentation to match argument handling

drbrain	2011-10-04 08:16:11 +0900 (Tue, 04 Oct 2011)

  New Revision: 33391

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33391

  Log:
    * proc.c (proc_call):  Update documentation to match argument handling
      of proc/Proc.new/lambda/->()

  Modified files:
    trunk/ChangeLog
    trunk/proc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 33390)
+++ ChangeLog	(revision 33391)
@@ -1,3 +1,8 @@
+Tue Oct  4 08:15:50 2011  Eric Hodel  <drbrain@s...>
+
+	* proc.c (proc_call):  Update documentation to match argument handling
+	  of proc/Proc.new/lambda/->()
+
 Tue Oct  4 07:59:16 2011  Eric Hodel  <drbrain@s...>
 
 	* proc.c (proc_call):  Fix documentation of Proc#call vs Proc#===.
Index: proc.c
===================================================================
--- proc.c	(revision 33390)
+++ proc.c	(revision 33391)
@@ -519,10 +519,10 @@
  *  to an array).  Note that prc.() invokes prc.call() with the parameters
  *  given.  It's a syntax sugar to hide "call".
  *
- *  For procs created using <code>Kernel.proc</code> an error is generated
- *  if the wrong number of parameters are passed to a proc with multiple
- *  parameters. For procs created using <code>Proc.new</code>, extra
- *  parameters are silently discarded.
+ *  For procs created using <code>lambda</code> or <code>->()</code> an error
+ *  is generated if the wrong number of parameters are passed to a Proc with
+ *  multiple parameters.  For procs created using <code>Proc.new</code> or
+ *  <code>Kernel.proc</code>, extra parameters are silently discarded.
  *
  *  Returns the value of the last expression evaluated in the block. See
  *  also <code>Proc#yield</code>.
@@ -530,14 +530,15 @@
  *     a_proc = Proc.new {|a, *b| b.collect {|i| i*a }}
  *     a_proc.call(9, 1, 2, 3)   #=> [9, 18, 27]
  *     a_proc[9, 1, 2, 3]        #=> [9, 18, 27]
- *     a_proc = Proc.new {|a,b| a}
+ *     a_proc = lambda {|a,b| a}
  *     a_proc.call(1,2,3)
  *
  *  <em>produces:</em>
  *
- *     prog.rb:5: wrong number of arguments (3 for 2) (ArgumentError)
- *     	from prog.rb:4:in `call'
- *     	from prog.rb:5
+ *     prog.rb:4:in `block in <main>': wrong number of arguments (3 for 2) (ArgumentError)
+ *     	from prog.rb:5:in `call'
+ *     	from prog.rb:5:in `<main>'
+ *
  */
 
 static VALUE

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]