Lau wrote:
Yes it is. It is defined as such. The fact that it requires its parameter to be a variable, and can detect an error at compile time, rather than runtime, doesn't stop it being a function.
Not in terms of php it’s not.
php wrote:
Note: Because this is a language construct and not a function, it cannot be called using variable functions
Lau wrote:
I don't expect all languages to be the same as one another. Just because you've learnt one language that defines "function" in one way, that doesn't mean all the rest have to do it the same. I'm bemused that you seem to be saying that.
I'm not saying that I'm talking with the same language. I do realise that function is just an abstract.
Anyway that's just an example I’m talking about special cases. Things that are botched to make them work.
Lau wrote:
I did. It didn't seem relevant. Something about ducks (whatever that's all about) and Ruby apparently doing one of my pet hates - uncontrolled coercion.
First off I like ducks so don't say anything against them
Have you not heard of
Duck Typing? I was demonstrating that nothing is a special case. Like for example in Ruby 0 is part of the FixNum object class as is 1,2 3... so it shouldn't be treated as a special case. As FixNum objects evaluate to true 0 does. Why should it be a special case?