Am 15.09.2010 12:33, schrieb bearophile:
Seth Hoenig:
[1] http://live.gnome.org/Vala/ValaForJavaProgrammers
http://live.gnome.org/Vala/ValaForCSharpProgrammers

I will read those pages.
On the D site there are pages about D1 for C/C++ programmers. I will eventually 
write a page about D2 for Python programmers.
In the meantime:
http://tinyurl.com/2d44sx7

Bye,
bearophile

I don't know python very well, but I think the article is interesting anyways but what I don't get is this:

>Python indexes can be negative, to wrap around:
>
>s = "abcdefg"
>assert s[-2] == 'f'
>
>
>But D doesn't allow that, you need to use $:
>
>auto s = "abcdefg";
>assert(s[$-2] == 'f');
>
>
>Here the -2 is a constant known at compile-time. If it's a run-time >variable then you need more complex code, like:
>
>void main() {
>    auto s = "abcdefg";
>
>    int index = -2;
>    char c = (index < 0) ? s[$+index] : s[index];
>    assert(c == 'f');
>
>    index = 3;
>    c = (index < 0) ? s[$+index] : s[index];
>    assert(c == 'd');
>}
>
>
>And you need to be careful to use a signed value for the index.

Maybe it's a silly question but what's wrong with
s[($+i)%$] //Wow, looks like Perl

Look
for i=(-1) and $=5 it's (5+(-1))%5 = 4 % 5 = 4
for i=2    and $=5 it's (5+2)   %5 = 7 % 5 = 2

Mafi

Reply via email to