Project

General

Profile

Actions

Feature #6095

closed

Question about block parameter syntax

Added by ko1 (Koichi Sasada) about 12 years ago. Updated about 12 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-dev:45290]

Description

 ささだです.

1.times{
|
x,
y|
}

は通りますが,

1.times{
|
x,
y
|
}

は通りません.閉じる | が行頭に来るのがまずいようです.これは,そういう
もんでしょうか.下記のように,ブロックパラメータにコメント入れようと思っ
て気づきました.

1.times{
|
x, # xxx
y # yyy
| # <- syntax error, unexpected '\n', expecting '|'
}

--
// SASADA Koichi at atdot dot net

Updated by matz (Yukihiro Matsumoto) about 12 years ago

  • Status changed from Open to Closed

fixed by r34835

Updated by matz (Yukihiro Matsumoto) about 12 years ago

まつもと ゆきひろです

添付のパッチで直りそう。だれか確認してもらえませんか?

In message "Re: [ruby-dev:45290] Question about block parameter syntax"
on Sun, 26 Feb 2012 13:59:11 +0900, SASADA Koichi writes:
|
| ささだです.
|
| 1.times{
| |
| x,
| y|
| }
|
|は通りますが,
|
| 1.times{
| |
| x,
| y
| |
| }
|
|は通りません.閉じる | が行頭に来るのがまずいようです.これは,そういう
|もんでしょうか.下記のように,ブロックパラメータにコメント入れようと思っ
|て気づきました.
|
| 1.times{
| |
| x, # xxx
| y # yyy
| | # <- syntax error, unexpected '\n', expecting '|'
| }
|
|--
|// SASADA Koichi at atdot dot net

diff --git a/parse.y b/parse.y
index 3c4f4ce..bde683f 100644
--- a/parse.y
+++ b/parse.y
@@ -3727,13 +3727,16 @@ block_param_def : '|' opt_bv_decl '|'
;

-opt_bv_decl : none

  •  | ';' bv_decls
    

+opt_bv_decl : opt_nl

  •      {
    
  •        $$ = 0;
    
  •      }
    
  •  | opt_nl ';' bv_decls opt_nl
         {
         /*%%%*/
     	$$ = 0;
         /*%
    
  •  	$$ = $2;
    
  •  	$$ = $3;
         %*/
         }
     ;
    

@@ -3788,7 +3791,7 @@ lambda : {
}
;

-f_larglist : '(' f_args opt_bv_decl rparen
+f_larglist : '(' f_args opt_bv_decl ')'
{
/%%%/
$$ = $2;

Updated by nobu (Nobuyoshi Nakada) about 12 years ago

なかだです。

(12/02/27 13:12), Yukihiro Matsumoto wrote:

添付のパッチで直りそう。だれか確認してもらえませんか?

よさそうです。r34832のテストは通ることを確認しました。

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0