Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Смишных картинок тред (https://javascript.ru/forum/offtopic/35821-smishnykh-kartinok-tred.html)

monolithed 29.11.2013 00:22

Цитата:

Сообщение от Maxmaxmaximus3
не забываем что тут 1-3 человека включая меня которые знают как устроен яваскрипт, остальные нубы нубами.

Я смотрю ты любишь загадки, развлекайся:
alert(/\\{0}/.test(true)); // true

l-liava-l 29.11.2013 00:58

Maxmaxmaximus3,
я до сих пор врубился зачем ты хочешь чтобы функция возвращала результат последнего выражения

Цитата:

и она работала бы с нативной скоростью.
С js парсером поравнятся удумал? :haha:
либо я тебя не понял

Цитата:

alert(/\\{0}/.test(true)); // true
хе, прикольно)
регулярка которая не ищет ничего, возвращает тру всегда потому что не только не нашла, но и не пытлась
верно не?)

cyber 29.11.2013 01:30

Цитата:

Сообщение от l-liava-l
регулярка которая не ищет ничего, возвращает тру всегда потому что не только не нашла, но и не пытлась
верно не?)

а почему тогда если поменять выражение то будет false?
/s/.test(false)// true
/d/.test(false)// false
/a/.test(false)// true

wtf? чет я немного не вкурю)

l-liava-l 29.11.2013 01:34

Цитата:

wtf? чет я немного не вкурю)
.test() ищет совпадения регулярки в строке, переводит буливые величины в строки.
в первом случае нашел s дал тру
во втором не нашел d дал фалс
потом нашел a дал тру

что касается alert(/\\{0}/.test(true)); // true
то тут все загвоздка в {0}
{n} n ое совпадение если не ошибаюсь и принимает только целое число и если скормить 0 то ниче искать не будет
а \\ он написал чтобы запутать)
если перевести регулярку на человеческий язык то будет

эй парсер! видишь \? вот его не ищи, даже не пытайся, если не найдешь то давай тру)


cyber,
ты вообще спишь? всю ночь же писал курсовую)))

cyber 29.11.2013 01:50

Цитата:

Сообщение от l-liava-l
ты вообще спишь? всю ночь же писал курсовую)))

да сплю,поспал 2 часа ночью и 2-3 днем)
пишу 2ю курсовую в понедельник защита)

cyber 29.11.2013 01:54

Цитата:

Сообщение от l-liava-l
переводит буливые величины в строки.

эм, по какому принципу ? что можно почитать или что гуглить?
почему s == true а d == false
Цитата:

Сообщение от l-liava-l
то тут все загвоздка в {0}

вкурил, забыл что {n} - это квантор, не часто приходиться регулярки писать.

l-liava-l 29.11.2013 01:59

Цитата:

эм, по какому принципу ? что можно почитать или что гуглить?
почему s == true а d == false
.test(str) передаем ему число или булевую величину и тд, он переводит в строку.
он ищет соответсвие регулярке в строке

тоесть
/s/.test(false)
переводит false в строку, потом смотрит есть ли там буква s, она нашлась, выдало тру

но буквы d там нету поэтому фолс

cyber 29.11.2013 02:02

l-liava-l, уже туплю, 3е суток за курсовыми на человека влияют плохо)

monolithed 29.11.2013 02:11

Цитата:

Сообщение от l-liava-l
а \\ он написал чтобы запутать)

Нет не для этого.
Вообще вопрос был к максимусу, он же тут хвастался что все знает.

Maxmaxmaximus3 29.11.2013 02:20

alert(/(ololo){0}/.test(true+true))


все уже сказали до меня, строка true ИМЕЕТ нуливое количество подряд идущих обратных слешей, по этому true

алсо строка 4353535435 имеет внутри себя пустые строки

alert( new RegExp('').test(4353535435) )


Цитата:

Сообщение от monolithed
А может и не возвращать:

нет не может, ты вообще не возвращаешь то что вернул блок, шутка не удалась =)

Цитата:

Сообщение от l-liava-l
С js парсером поравнятся удумал?

В смысле? я превращаю функцию в строку, делаю изменения кода, потом обратно собираю в функцию. суть в том как использовать особенность блока возвращать последнее выражение на функции.

Цитата:

Сообщение от monolithed
Нет не для этого.

нет для этого))))))))


Часовой пояс GMT +3, время: 11:47.