1

自分自身へのハンドルは、OOP 言語では別のものと呼ばれます。私がこれまでに遭遇したいくつか:

  • this(例: Java、C#)
  • Me(例: VB、vba)
  • self(例: Python)

他に知ってる人いますか?

4

6 に答える 6

3

Python では、0 番目の引数を と呼ぶのは単なる慣習ですself。大事なのはポジション。何でもできるので、iまたは他のものを使用できます:

class Foo:
  def bar ( i ):
    print i
于 2010-09-08T17:29:49.320 に答える
1

Perlでは、それ自体への参照が暗黙的になることはありません。

sub work {
    my($self) = @_;
    sleep();         # Don't do this
    $self->sleep();  # Correct usage
}

出典:「本格的なPerlを書く-あなたが知る必要のある絶対的な最小値

于 2010-09-08T17:36:58.557 に答える
1

In multiple-dispatch OO languages like Common Lisp (CLOS), Dylan or Slate, there is no single receiver object, and therefore no notion of self.

于 2010-09-09T01:13:13.917 に答える
1

自分探し…

ほとんどの場合、それはまったく何もありません。たとえば、ローカル x 変数が存在しない場合、通常、"x" は this.x を参照します。

于 2010-09-08T17:30:38.867 に答える
0

F#は、独自の名前を指定するという点でPythonやPerlに似ています。これが@PeteKirkhamのF#でのPythonの例です。

type Foo =
  member i.bar = printfn "%O" i

そのようにそれを使用してください:

let x = new Foo()
x.bar
于 2010-09-09T01:11:46.307 に答える
0

Smalltalk も self を使用します。

于 2010-09-08T18:07:07.767 に答える