[ruby-list:50928] Re: キーワード引数に self を使うとエラーにならない

From: 小田 利通 <oda@...>
Date: 2021-05-13 02:15:18 UTC
List: ruby-list #50928
> これは仕様です。取り出しには binding.local_variable_get(:self) を使います。

ありがとうございます。理解しました。

私個人としては、複雑なのはイヤなので self などは極力使わないようにすると思います。

T.Oda


From: Yukihiro Matsumoto <matz@ruby.or.jp>
Subject: [ruby-list:50927] Re: キーワード引数に self を使うとエラーにならない
Date: Thu, 13 May 2021 11:05:58 +0900
Message-ID: <1620871558.820826.1305230@Ryzen9>

> まつもと ゆきひろです
> 
> これは仕様です。取り出しには binding.local_variable_get(:self) を使います。
> これが長いので _self という名前で参照できるようにしたいというリクエストが出ています。
> 
> https://bugs.ruby-lang.org/issues/17785
> 
> 
> In message "Re: [ruby-list:50926] キーワード引数に self を使うとエラーにならない"
>     on Thu, 13 May 2021 10:55:00 +0900 (JST), 小田 利通 <oda@alato.ne.jp> writes:
> >
> >
> >キーワード引数に 疑似変数 self などを使うと、エラーになりません。
> >
> >def f(self:10)
> > p self
> >end
> >
> >f() #=> main
> >
> >self に代入されないだけですが、キーワードでない仮引数に self を
> >使った場合と同じくエラーとなって欲しいと思います。
> >
> >def g(self)
> >  p self
> >end  #=> syntax error
> >
> >$ ruby --version  #=> ruby 2.7.1p83
> >
> >https://docs.ruby-lang.org/ja/latest/doc/spec=2fvariables.html#pseudo
> >> 疑似変数の値を変更することはできません。擬似変数へ代入すると文法エラーになります。 
> >
> >T.Oda
> >

In This Thread

Prev Next