The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Язык Perl еще далек от забвения, несмотря на заявления 'анал..."
Отправлено Добрый Дохтур, 09-Ноя-09 17:41 
>А если шаг меняется в процессе цикла ? :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)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру