> I don't find it that bad. Ruby does it as well, and it's perfectly readable. It's more or less equivalent as if condition: and if(condition): both being valid in Python.
Yeah, but you'd never call a function foo like this- x = foo in Python. It's just good to be able to say that a function always has <some rule here>. That improves readability (imao). >You sure of that? I was under the impression that len(moddirList) in Perl was $moddirList (@moddirList is the list itself). Well, my one's correct, but I think yours is also. And this is what gets me. @mod = (1,2,3) $mod = 3 $mod[0] = 1 Is inconsistent. Or at least, the logic behind this is not immediately apparent to me. I'm always open to illumination on these things however. >> if ( not $d eq "a" && not $d eq "c") = False for $d = "b" >> if ($d ne "a" && $d ne "c") = True >This probably has to do with operator precedence. It's been lifted from C, so chances are that && has a higher precedence than eq. Use parentheses. Ah... Ironic, I got misled by TMTOWTDI. I figured that if not x=="a" and not x == "c" evaled as True in Python, and "if (not $d eq "a")" evaled as True in Perl, that if ( not $d eq "a" && not $d eq "c") would also eval as true. Of course, what's even weirder to me is that if ($d ne "a" && $d ne "c") does eval as True, as far as I can see, '$d ne "a"' is the same as d != "a" in Python, which is the same as 'if not d == "a"', which, logically, would mean that $d ne "a" is the same as 'if(not $d eq "a") in which case both tests should handle the addition of an AND the same. Once again, illumination is welcomed, as I have a finally that some subtlety of Boolean logic is eluding me, and a 'x != a' test is different to 'if not x == a' in a small but significant way. Max - the foo > std.txt thing explains it, but what about @dude = <FILE>, where do the brackets originate from? This is another issue I'm having with Perl as opposed to Python - Perl is very much written by *nix users for *nix users, it's implementation of *nix conventions shows, including the `` things. Whereas (correct me if I'm wrong), but Python was written by *nix users for everyone. Python seems very non-OS-denominational in it's current incarnation, it may have been very *nix orientated prior. So here comes me, the guy who installed Linux once, failed to see the big deal and uninstalled it. Up until 3 months ago, my comp was used for gaming, pure and simple, me being a certified Day of Defeat freak, and so Windows has always best served my purpose. Now, I want to programme, so I have to learn Unix conventions to use a crossplatform language! It's like asking *nix users to sign a Microsoft EULA!! (Well, not as bad, but still as anathemic.) >Fast forward to last summer. In the span of 1 week, I discovered both Python and Ruby. Fell in love with both and immediately ditched Perl. How's Ruby? I bookmarked the homepage, but never got around to looking at it. Oh, and I will say this - Perl > Java (and that's an inequality test, not a redirection of output) Cheers, Liam Clarke -- 'There is only one basic human right, and that is to do as you damn well please. And with it comes the only basic human duty, to take the consequences. _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
