const(Object)ref is here!
Andrej Mitrovic
andrej.mitrovich at gmail.com
Tue Dec 21 10:46:11 PST 2010
Hmm.. if we get uniform function call syntax for all types, perhaps
this code might even work some day:
import std.stdio;
import std.conv;
string toString(A)(A a)
{
return to!string(a);
}
class A
{
string name;
this(string name)
{
this.name = name;
}
string writeTo()
{
return name;
}
}
void main()
{
auto foo = new A("I'm foo! ");
writeln(foo.toString); // using uniform function call syntax
}
Right now this code will compile but it will use Object's toString
instead of the one we defined above.
On 12/21/10, Steven Schveighoffer <schveiguy at yahoo.com> wrote:
> On Tue, 21 Dec 2010 13:10:12 -0500, Bruno Medeiros
> <brunodomedeiros+spam at com.gmail> wrote:
>
>> On 06/12/2010 19:00, Jonathan M Davis wrote:
>>> On Monday, December 06, 2010 05:41:42 Steven Schveighoffer wrote:
>>>> On Mon, 06 Dec 2010 04:44:07 -0500, spir<denis.spir at gmail.com> wrote:
>>>>> On Mon, 6 Dec 2010 00:31:41 -0800
>>>>>
>>>>> Jonathan M Davis<jmdavisProg at gmx.com> wrote:
>>>>>> toString() (or writeFrom() or whatever
>>>>>> it's going to become)
>>>>>
>>>>> guess it was writeTo() ;-) but "writeFrom" is nice as well, we should
>>>>> find some useful use for it
>>>>
>>>> It was proposed as writeTo, but I'm not opposed to a different name.
>>>
>>> I have no problem with writeTo(). I just couldn't remember what it was
>>> and
>>> didn't want to take the time to look it up, and the name isn't as
>>> obvious as
>>> toString(), since it's not a standard name which exists in other
>>> languages, and
>>> it isn't actually returning anything. Whether it's to or from would
>>> depend on
>>> how you look at it - to the given delegate or from the object. But
>>> writeTo() is
>>> fine. Once it's used, it'll be remembered.
>>>
>>
>> I don't think it's entirely fine. It should at least have
>> "string"/"String" somewhere in the name. (I mentioned this on the other
>> original thread, although late in time)
>
> First, I'll say that it's not as important to me as it seems to be to you,
> and I think others feel the same way. writeTo seems perfectly fine to me,
> and the 'string' part is implied by the char[] parameter for the delegate.
>
> Changing the name to contain 'string' is fine as long as:
>
> 1) it's not toString. This is already established as "returning a string"
> in both prior D and other languages. I think this would be too confusing.
> 2) it's short. I don't want writeAsStringTo or something similar.
>
> What did you have in mind?
>
> -Steve
>
More information about the Digitalmars-d
mailing list