- 1
['10','10','10','10'].map(parseInt)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+127
['10','10','10','10'].map(parseInt)
Результат:
[10, NaN, 2, 3]
+154
// Цитата №1: массив регулярных выражений из введённых пользователем строк
var strings = what.filter(function(e){ return e.replace(/s+/g,'').length; }).map(function(e){ var re = new RegExp(e, 'g' + (ignoreCase ? 'i' : '')); return re; });
// Цитата №2: проверяется наличие введённых строк в тексте и выводит результаты
function processText(pid, cid, text){
if(strings.every(function(re){
return re.test(text);
})){
// совпало
// тут выводится информация о совпадении для поста/комментария
// кроме вывода в консоль побочных эффектов нет
....
}
}
// Цитата №3: запуск поиска
posts.forEach(function(post){
processText(post.id, null, post.author.name + ' ' + post.text);
processText(post.id, null, post.author.name + ' ' + post.description);
post.comments.forEach(function(comment){
processText(post.id, comment.id, comment.author.name + ' ' + comment.text);
});
});
Цитаты из скрипта поиска по ГК.
Казалось бы, write-only питушня, работает - не трогать. Но, прочитав, http://govnokod.ru/16577#comment246821, решил поискать упоминания доктора по званию. Открываю найденный пост X, а там не все упоминания найдены. Меняю список постов, в которых искать - для X меняется список найденных комментариев.
Откуда такая питушня? processText почти чистая, strings, posts не меняется. Может, вывод на консоль как-то влияет?
Все волосы на жопе вырвал пока нашел в чем ошибка.
Внимание, вопрос. В чем гавно? (c) ursus
+158
class TestThis
{
public $property = 'property';
public function test1()
{
$this->this($this, new ArrayObject);
$this['wierd'] = true;
print_r($this);
print_r($this->property . PHP_EOL);
return $this;
}
public function test2()
{
print_r($this);
}
public function this(&$object, $value)
{
$object = $value;
}
}
(new TestThis)->test1()->test2();
Вопрос к самому похапе.
Так вот нельзя:
$this = че-нибудь
"Cannot re-assign $this"
А вот как выше можно!
+152
<?php
class Config {
/* ... */
public function __construct ()
{
// Читаем настройки из дефолтного файла
$ini = parse_ini_file(dirname(dirname(__FILE__)).'/'.$this->config_file);
// Записываем настройку как переменную класса
foreach($ini as $var=>$value)
$this->vars[$var] = $value;
/* ... */
Взято из файла api/config.php из Simpla CMS.
Нельзя было $this->vars = parse_ini_file(dirname(dirname(__FILE__) ).'/'.$this->config_file); написать что ли?
+163
//проверяем, не извлечены ли данные пользователя из базы. Если нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа. Но мы не будем его выводить для вошедших, им оно уже не нужно.
Не замысловатый комментарий из истории одного проекта
+136
switch(event->touch_point) {
case 5:
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x5);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y5);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 1);
input_mt_sync(data->input_dev);
// printk("===x2 = %d,y2 = %d ====\n",event->x2,event->y2);
case 4:
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x4);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y4);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 1);
input_mt_sync(data->input_dev);
// printk("===x2 = %d,y2 = %d ====\n",event->x2,event->y2);
case 3:
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x3);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y3);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 1);
input_mt_sync(data->input_dev);
// printk("===x2 = %d,y2 = %d ====\n",event->x2,event->y2);
case 2:
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x2);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y2);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 1);
input_mt_sync(data->input_dev);
// printk("===x2 = %d,y2 = %d ====\n",event->x2,event->y2);
case 1:
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x1);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y1);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 1);
input_mt_sync(data->input_dev);
printk("===x1 = %d,y1 = %d ====\n",event->x1,event->y1);
default:
// printk("==touch_point default =\n");
break;
}
Автору платили за строки?
Из драйвера тачскрина ft5x0x
+70
public class MyFancyException extends Exception {
public MyFancyException(Throwable cause) {
super(cause);
}
static public <X extends Throwable> void foo() throws X {
try {
throw new MyFancyException(new Exception());
}
catch (MyFancyException ex) {
throw (X) ex.getCause();
}
}
public static void main(String[] args) throws IOException {
MyFancyException.<IOException>foo();
}
}
Прекрасный способ отстрелить себе ногу. Метод foo() может кинуть любое исключение, даже если его нет в списке throws
+79
List<SomeType> list = ...;
...
if (list.size() < 0)
return true;
а вдруг?
−123
function GetRaz()
Open "C:NeWFiles.txt" For Output As #1
Print #1, "0"
Close
Shell "cmd /X /C set PROCESSOR_ARCHITECTURE > C:NeWFiles.txt", vbHide
1
Open "C:NeWFiles.txt" For Input As #1
Do While Not EOF(1)
Input #1, Items
Loop
Close
If Items = "" Or items = "0" Then GoTo 1
GetRaz = Replace(Items, "PROCESSOR_ARCHITECTURE=", "")
End function
"Получаем разрядность Windows"
http://vbbook.ru/1401972927/
+86
begin
if CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Генераторы шумовых сигналов');
if CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Низкочастотные генераторы сигналов');
if CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Усилители мощности');
if CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Акустические излучатели');
if CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Измерители шума и вибраций (шумомеры)');
if CheckListBox1.checked[0]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2] or CheckListBox3.checked[0]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Селективные микровольтметры, измерительные приемники (анализаторы спектра)');
if CheckListBox1.checked[0] or CheckListBox1.checked[1] or CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[3]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Селективные нановольтметры');
if CheckListBox1.checked[2] or CheckListBox1.checked[2]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Измерительные микрофоны');
if CheckListBox1.checked[0] or CheckListBox1.checked[1]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[0]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Измерительные антенны');
if CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
then Form2.Memo1.Lines.Add('Вибродатчики (акселерометры)');
if CheckListBox1.checked[0] or CheckListBox1.checked[1]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[0]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Измерительные пробники');
if CheckListBox1.checked[2] or CheckListBox1.checked[3]
or CheckListBox2.checked[0] or CheckListBox2.checked[1] or CheckListBox2.checked[2]
or CheckListBox3.checked[1] or CheckListBox3.checked[2]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Полосовые октавные фильтры со среднегеометри- ческими частотами 250, 500, 1000, 2000, 4000 Гц');
if CheckListBox1.checked[0] or CheckListBox1.checked[1]
or CheckListBox3.checked[0]
or CheckListBox5.checked[0] or CheckListBox5.checked[1] or CheckListBox5.checked[2]
then Form2.Memo1.Lines.Add('Осциллографы');
{ if Checklistbox6.Checked[0] or CheckListBox3.checked[0]
or CheckListBox4.checked[0]
then Form2.Memo1.Lines.Add('Программные средства формирования и контроля полномочий доступа в AC'); }
<font color="Red"> if CheckListBox2.checked[3] or CheckListBox2.checked[4]or CheckListBox2.checked[5]
or CheckListBox3.checked[0] or CheckListBox4.checked[0]
then Form2.Memo1.Lines.Add('Программные средства контроля целостности программ и программных комплексов');</font>
Вот так живут Америка с Европой.
http://www.delphisources.ru/forum/showthread.php?t=26142