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