Момент, когда понимаешь, что безнадёжно отстал от жизни. Изначальный говнокод: Code: foreach($line in Get-Content -Path $SupposedInf -Tail 50) { if ( $line.startswith($UpdDate) -and $line.contains(" "+$IBCode+"#")) { тут делаем всякое } } Правильный и красивый говнокод: Code: foreach($line in Get-Content -Path $SupposedInf -Tail 50 | Where-Object { $_.startswith($UpdDate) -and $_.contains(" "+$IBCode+"#") } ) { тут делаем всякое }
мне кажется читабельнее | Where-Object { $_.startswith($UpdDate)} | Where-Object {$_.contains(" "+$IBCode+"#") }
@gerodoth, двойной пайп — лишний оверхед. Лучше этого избегать. Почему? Потому, что это не просто какой-то фильтр, а полная передача набора объектов для последующей обработки. Зачем делать это два раза, если достаточно один? Кстати, кто скажет, не гадая, почему и первое, и второе — всё равно говнокод, тому я сразу рукопожму.
потому что в форич можно наложить условия или потому что если умеешь в регкспы то все можно ззапихать в одно? люблю регэкспы но не умею
@gerodoth, не-а. Это вопрос вкуса. А вот -Tail 50 — вот самый говнокод. Брать весь файл слишком накладно, они там могут быть очень большие (логи обновлений с момента создания базы). Парсить на предмет первой строки с нужной датой можно, но всё равно вычитывать весь файл. Предположение «50 строк с хвоста точно содержат последнее обновление» — типичный говнокод. Кстати, отличное замечание. Пойду-ка, побыдлокодю…
На странице сайта есть js простенький . Суть его такая: при попадании на страницу выводится окно через prompt (), в котором пользователь вводит некую информацию. После этого через document. write () пользователю выводится результат. Хочу видеть либо то, что он вводит, либо то, что видит в результате. В идеале - письмо мне на мыло с текстом "Пользователь ввёл число N" Реально это?