
Andrey
20.10.2018
22:39:02

ujeenator
20.10.2018
22:39:12

Max
20.10.2018
22:39:26
Ну так не запихивай)

Andrey
20.10.2018
22:39:37

Google

Анатолий
20.10.2018
22:39:41
Смысл out в том, чтобы произвольно вернуть наружу новые объекты.
Мутировать аргументы может ref
Вернуть коллекцию разнотипных обхектов можно в tuple

Andrey
20.10.2018
22:40:06
Ладно, out всё равно в js не появится никогда)

ujeenator
20.10.2018
22:40:11
if выражения должны читать как фраза
"если разбор успешный то"

Andrey
20.10.2018
22:40:27

Анатолий
20.10.2018
22:40:52
Функция, которая порождает новые сущности.
Потому что вернуть она может только одну, чем бы она ни была
А мутировать она может только существующую, а специально её создавать для последующей мутации - это извращение.
Гораздо чище самой функции пробросить новую сущность наружу

ujeenator
20.10.2018
22:41:19

Max
20.10.2018
22:41:20
const { divres, modres } = Math.divmod(val)
и
let modres = 0;
const divres = Math.divmod(val, out modres);
Что лучше?

Andrey
20.10.2018
22:41:33

Max
20.10.2018
22:41:36
Как видишь я тоже могу привести отвратный пример ?

ujeenator
20.10.2018
22:41:58
Нет.
Стайлгайды по качественному коду

Andrey
20.10.2018
22:42:02

Анатолий
20.10.2018
22:42:19

Andrey
20.10.2018
22:42:21

Google

ujeenator
20.10.2018
22:42:49

Анатолий
20.10.2018
22:42:50
А то смесь получается, тут мы возвращаем, а тут у нас out, не хватает только мутировать чего-нибудь через условный ref :)

Andrey
20.10.2018
22:43:02

Max
20.10.2018
22:45:24
Вот что нужно js так это matching. И не такой как в пропозале сейчас

Анатолий
20.10.2018
22:48:15
Там можно матчить ренжами

Andrey
20.10.2018
22:49:01
А у тебя попа не слипнется?
Может тебе в питон надо?

Анатолий
20.10.2018
22:49:35
Да ладно, ифами обойдусь, впервой что ли

Max
20.10.2018
22:49:37
function test(str) {
switch (true) {
case /xyz/.test(str):
display("• Matched 'xyz' test");
break;
case /test/.test(str):
display("• Matched 'test' test");
break;
}
}

Andrey
20.10.2018
22:50:04

Анатолий
20.10.2018
22:51:04
http://www.picaxe.com/BASIC-Commands/Program-Flow-Control/select/
50 лет языку

Max
20.10.2018
22:51:11

Анатолий
20.10.2018
22:51:24
клёво? )

Andrey
20.10.2018
22:51:47
клёво? )
И этот человек мне говорил о лаконичности кода.

Max
20.10.2018
22:52:15

Google

Andrey
20.10.2018
22:52:47
Ну я тоже
Вообще можно сделать кеш на викмапах и радоваться жизни)

Aleksey
20.10.2018
22:52:57
switch ( true ) {
красивее и уже работает

Анатолий
20.10.2018
22:53:05

Andrey
20.10.2018
22:53:17

Max
20.10.2018
22:53:25

Andrey
20.10.2018
22:53:32
А так память сэкономишь)

Анатолий
20.10.2018
22:54:59
switch ( true ) {
красивее и уже работает
Я не про синтаксис, я про возможности :)
Ну, по-нашему:
switch (foo) {
case 10: blablabla;
case 5, 7: blablabla;
case 90 to 100: blablabla;
case <40: blablabla;
default: blablabla;
}

Andrey
20.10.2018
22:55:16
Лень копаться в стандарте:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compile#Description

Анатолий
20.10.2018
22:55:29
Я подумал, ты саму запись наверх уносишь

Анатолий
20.10.2018
22:57:03
О! хочу в шарпе декларацию регекспа без конструктора, как в жс

Andrey
20.10.2018
22:57:17
Зачем?

Анатолий
20.10.2018
22:57:19
Бывают лёгкие случаи, которые не нужно объявлять
Пусть неявно подразумевается

Andrey
20.10.2018
22:58:08

Анатолий
20.10.2018
22:58:26
Как и жс в последнее время

Google

Andrey
20.10.2018
22:58:45

Анатолий
20.10.2018
22:58:53
Вон когда стрелки привезли, все обоссались от радости :)

Andrey
20.10.2018
22:59:15
Я примерно за этот год написал 1 регекс в шарпе.
Да и то через неделю удалил, так как не нужен.

Анатолий
20.10.2018
22:59:53

Andrey
20.10.2018
23:00:19

Анатолий
20.10.2018
23:00:27
Круто

Andrey
20.10.2018
23:01:35
Честно, я не видел никогда, чтобы выделяли отдельный синтаксис для редкоиспользуемой вещи.

Анатолий
20.10.2018
23:01:35
Кстати, если уж говорить о литеральной записи, то вспомню-ка я перл. Красотища-то!

Admin
ERROR: S client not available

Andrey
20.10.2018
23:01:51
Жаль, что читаемость чуточку страдала. Было проще написать заново.

Анатолий
20.10.2018
23:02:34
Я о литеральной записи регекспов
s/foo/bar/g - чего там писать заново?
Кстати, это красиво сочеталось бы с интерполяцией

Andrey
20.10.2018
23:03:18
У меня уже лет 10 как травма от него.

Анатолий
20.10.2018
23:03:32

Andrey
20.10.2018
23:03:56
Благо, что есть debuggex.com, который их в виде автоматов представляет.

Google

Andrey
20.10.2018
23:04:01
Читать можно нормально.

Max
20.10.2018
23:05:35

Анатолий
20.10.2018
23:05:54
Итак, подытожим. Форыч из пхп, линк из скуля, матчинг из бейсика, регекс запись из перла - и будет конфетка, а не язык!

Max
20.10.2018
23:06:26

Анатолий
20.10.2018
23:06:42
А ещё можно убрать точки с запятыми, как в старом добром ASP
Ой, уже
Правда, иногда не работает, но это уже тема Совы
У него работает )

Andrey
20.10.2018
23:07:38
Mail::RFC822::Address
http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

Max
20.10.2018
23:08:29

Анатолий
20.10.2018
23:08:38
Только стажёров пугать :)

Andrey
20.10.2018
23:08:56
Почту не надо регулярками проверять.

Анатолий
20.10.2018
23:10:48
Почту надо проверять по утрам
(можно даже регулярками)

Max
21.10.2018
00:30:54
Запихни это в if
А вообще все это от того, что в C# нет optional типа. Для данного конкретного случая. В js же optinal неявно перманентен для всего) Это "any | undefined"

Andrey
21.10.2018
00:31:17
https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1?view=netframework-4.7.2?

Max
21.10.2018
00:32:14
Как в Rust
Optinal<T>{
Some(T)
None
}

Andrey
21.10.2018
00:32:55

Max
21.10.2018
00:34:32
Ну вот да, Nullable<T> как вариант

Andrey
21.10.2018
00:35:43
В восьмо мшарпе собираются сделать и к ссылочным типам.