Hacker News new | past | comments | ask | show | jobs | submit login

This is why I love F#.

It lets you define the name of the this parameter in exactly the same way you pass it.

  type Bar(p) =
    member x.Foo(bar) = printf "%s %d" bar p 

  let x = new Bar(10)
  x.Foo("Foo bar")
Output:

  Foo bar 10
And yes, the variables bar and p are type inferred from the %s and %d respectively



You can rename self to whatever you want in Python by changing it in the function definition.

    class Flip(object):
        foo=4
        def flop(x,num):
            x.bar=x.foo+num


Right, but his point was that the self variable is declared in front of the method name, similarly to how it looks when you call said method.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: