>А если шаг меняется в процессе цикла ? :P для такого крайне редкого случая я просто напишу генератор, где один из аргументов - функция, задающая закон по которому меняется шаг.
>Да что ж вам везде мерещится жизненная необходимость ? Итерация или смерть
>... Вы знакомы с понятием удобства ? Вот мне например удобней
>написать конструкцию вида
>for ($i=0; ($i < 100) && (-e "$i.txt"); $i++) {}
>чем делать лишний if в цикле
ох... что ж у перлистов кругом грязные хаки... а где проверки на то что это не каталог?
Ваше:
def somework(fname)
[somework(file) for i in xrange(0,100) if os.path.isfile("".join(['./',str(i),'.txt']))
>$a[0] = rand;
>for ($i=rand, $len = 1; $i > 0.1; $i=rand) {
> if (abs($a[$len-1] - $i) > 0.4) {
> push(@a, $i);
> $len++;
> }
>}
чуть-чуть поправим условия:
#!/usr/bin/perl
$a[0] = rand;
for ($i=rand, $len = 1; $i > 0.000000001; $i=rand) {
if (abs($a[$len-1] - $i) > 0.0000001) {
push(@a, $i);
$len++;
}
}
и оно поедает всю память.
>>Ахренеть... я хотел проверить существование переменной, зачем вызывать функцию?
>>Расскажите, как узнать, что функция уже определена, но без её вызова?
>
>Только после того как расскажете зачем писать такой код.
легко. например узнать, сколько у нас функций в программе, узнать какие функции появляются после импорта модуля, итп...
>>И как узнать, что нам вернула некая функция: строку, число, список, хеш
>>или функцию?
>perldoc -f ref
гыгыг... а слабо показать все методы класса?
#!/usr/bin/perl
@arr=("1","50","10","5");
foreach $i (@arr) { print "$i\n"; }
print "-------------------\n";
@arr=sort(@arr);
foreach $i (@arr) { print "$i\n"; }
print "===============\n";
@arr=(1,50,10,5);
foreach $i (@arr) { print "$i\n"; }
print "-------------------\n";
@arr=sort(@arr);
foreach $i (@arr) { print "$i\n"; }
гыгы... числа==строки :)
А покажите мне вот такое:
#!/usr/bin/python
import inspect
def job():
for i in inspect.stack():
print i
def foo():
job()
def bar():
job()
foo()
bar()
выхлоп:
$ ./stack.py
(<frame object at 0xa29a804>, './stack.py', 7, 'job', [' for i in inspect.stack():\n'], 0)
(<frame object at 0xa2ab564>, './stack.py', 11, 'foo', [' job()\n'], 0)
(<frame object at 0xa2889b4>, './stack.py', 16, '<module>', ['foo()\n'], 0)
(<frame object at 0xa29a804>, './stack.py', 7, 'job', [' for i in inspect.stack():\n'], 0)
(<frame object at 0xa2c0d0c>, './stack.py', 14, 'bar', [' job()\n'], 0)
(<frame object at 0xa2889b4>, './stack.py', 17, '<module>', ['bar()\n'], 0)