- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
function main() {
let { aa, bb } = { aa: 10, bb: 20 };
print(aa + bb);
let {
aa,
bb: { q, r },
} = { aa: 10, bb: { q: 1, r: 2 } };
assert(aa == 10, "{}");
assert(q == 1, "{}");
assert(r == 2, "{}");
let { x, y } = new ObjF(1, "foo");
assert(x == 1, "{}");
assert(y == "foo", "{}");
print("done.");
}
ASD_77 04.08.2021 21:29 # 0
ASD_77 04.08.2021 21:30 # 0
CHayT 04.08.2021 21:30 # +1
В приличных домах это называют pattern matching
ASD_77 04.08.2021 21:31 # 0
j123123 04.08.2021 21:34 # 0
CHayT 04.08.2021 21:35 # 0
> let { x, y } = new ObjF(1, "foo");
Счастливого рефакторинга.
bormand 04.08.2021 21:38 # 0
ASD_77 04.08.2021 21:44 # +1
CHayT 04.08.2021 21:49 # 0
bormand 04.08.2021 21:50 # +2
let {x1, y1} = f1();
let {x2, y2} = f2();
ASD_77 04.08.2021 23:37 # 0
bormand 05.08.2021 05:38 # 0
А с туплой {int, int} оно по позициям что ли будет работать, забив на имена?!
ASD_77 05.08.2021 11:23 # 0
bootcamp_dropout 05.08.2021 02:05 # 0
Или есть мудацкий синтаксис
bormand 05.08.2021 05:36 # 0
bootcamp_dropout 05.08.2021 14:21 # 0
ASD_77 05.08.2021 11:14 # 0
правда я не буду его имплементировать пока, потому что у меня пока undefined - это тупая симуляция
ASD_77 05.08.2021 11:15 # +1
ASD_77 05.08.2021 11:19 # 0
CHayT 04.08.2021 21:45 # +2
2) Продавать пивас студию для TypeScript'а, которая эту фичу запрещает
bormand 05.08.2021 08:14 # +2
j123123 05.08.2021 09:26 # +2
CHayT 05.08.2021 11:28 # +1
bormand 04.08.2021 21:31 # 0
Desktop 04.08.2021 21:46 # 0
ASD_77 04.08.2021 21:32 # 0
ASD_77 04.08.2021 21:33 # 0
ASD_77 04.08.2021 21:34 # 0
CHayT 04.08.2021 21:36 # 0
Desktop 04.08.2021 21:45 # 0
ASD_77 05.08.2021 01:22 # +1
j123123 05.08.2021 04:19 # +1
JloJle4Ka 05.08.2021 04:39 # 0
nycpblcmuk 05.08.2021 09:58 # +1
Например, в «Бейсике» в левой части можно было использовать строковые функции:
Программа выведет слово «ВИТЯ»
1024-- 05.08.2021 16:09 # +2
3EHuTHblu_nemyx 05.08.2021 16:29 # +2
Помню, можно было использовать слайсы для строк (функции MID$, LEFT$, RIGHT$) и, кажется, изменять длину строки (функция LEN). Дальше создатели «Бейсика» не пошли.
А если бы развили эту мысль, было бы круто: декомпозиция, паттерн-матчинг, решение уравнений...
У уравнений есть проблемы:
1. У квадратного уравнения два корня.
2. Многие уравнения нельзя обратить аналитически, а у решения методом итераций есть проблема останова.
Desktop 05.08.2021 16:35 # 0
DypHuu_niBEHb 05.08.2021 16:38 # +2
3EHuTHblu_nemyx 05.08.2021 16:41 # +1
Desktop 05.08.2021 16:53 # +1
DypHuu_niBEHb 05.08.2021 16:54 # +1
LORGovno 05.08.2021 16:58 # +1
3EHuTHblu_nemyx 05.08.2021 17:20 # 0
https://youtu.be/83mLcBxZDPM
3EHuTHblu_nemyx 05.08.2021 17:33 # 0
https://youtu.be/UidYoYqtlds
j123123 05.08.2021 17:39 # +3
guest6 05.08.2021 17:44 # +2
3EHuTHblu_nemyx 05.08.2021 17:47 # 0
guest6 05.08.2021 17:50 # +1
Вообще охуенное произведение же:)
guest6 28.07.2024 00:04 # 0
Боль прошла только после того, как я подтерся шляпой пажа, украшенной перьями на швейцарский манер.
guest6 28.07.2024 00:04 # 0
- Оправился я от этого только на другой день, после того как подтерся перчатками моей матери, надушенными этим несносным, то бишь росным, ладаном.
Подтирался я еще шалфеем, укропом, анисом, майораном, розами, тыквенной ботвой, свекольной ботвой, капустными и виноградными листьями, проскурняком, диванкой, от которой краснеет зад, латуком, листьями шпината, - пользы мне от всего этого было, как от козла молока, - затем пролеской, бурьяном, крапивой, живокостью, но от этого у меня началось кровотечение, тогда я подтерся гульфиком, и это мне помогло.
Затем я подтирался простынями, одеялами, занавесками, подушками, скатертями, дорожками, тряпочками для пыли, салфетками, носовыми платками, пеньюарами. Все это доставляло мне больше удовольствия, нежели получает чесоточный, когда его скребут.
guest6 28.07.2024 00:04 # 0
Тот весь обрызган желтой влагой *.
- Что я слышу? - воскликнул Грангузье. - Ах, озорник ты этакий! Тишком, тишком уже и до стишков добрался?
guest6 28.07.2024 01:15 # 0
3EHuTHblu_nemyx 05.08.2021 17:49 # 0
https://youtu.be/aNfIkC-_mu0
1024-- 05.08.2021 17:07 # 0
Либо делать fork, либо интерпретировать код как do-нотацию монады List (строчки программы как бы умножаются декартово)
Либо будет implementation defined и возвращать какое-то одно значение. Это вообще универсальный вариант. Поскольку форкнуться на 2 корня уравнения x: x^2-1=0 просто, а форкнуться на континуум корней уравнения x: 0=0 чуть сложнее.
> нельзя обратить аналитически
Бросать исключение или ошибку компиляции, если в тот момент известно?
> проблема останова
Не так важно с точки зрения языка. Пусть пердолятся программисты/пользователи.
guest6 28.07.2024 02:01 # 0
PolinaAksenova 05.08.2021 19:36 # +2
3EHuTHblu_nemyx 05.08.2021 19:42 # 0
Жаль, в «Бейсике» не было слайсов для массивов, был только доступ к отдельному элементу.
3EHuTHblu_nemyx 05.08.2021 19:45 # 0
bormand 05.08.2021 19:47 # +1
3EHuTHblu_nemyx 05.08.2021 19:55 # 0
bormand 05.08.2021 19:56 # +1
3EHuTHblu_nemyx 05.08.2021 19:57 # 0
bormand 05.08.2021 19:58 # +1
DypHuu_niBEHb 05.08.2021 20:00 # +3
это вызывает охуение у большинства питухов
bormand 05.08.2021 20:02 # 0
3EHuTHblu_nemyx 05.08.2021 20:02 # 0
Это как в сишке, если getFoo() возвращает указатель, то можно *(getFoo()) = 42;
bormand 05.08.2021 20:04 # +1
lvalue.
guest6 05.08.2021 19:57 # 0
PolinaAksenova 05.08.2021 19:58 # +2
3EHuTHblu_nemyx 05.08.2021 20:08 # 0
bormand 05.08.2021 20:09 # 0
3EHuTHblu_nemyx 05.08.2021 20:14 # 0
Создаёт временную переменную и производит декомпозицию.
bormand 05.08.2021 20:31 # 0
3EHuTHblu_nemyx 05.08.2021 20:38 # 0
guest6 05.08.2021 20:49 # +1
3EHuTHblu_nemyx 05.08.2021 20:50 # 0
3EHuTHblu_nemyx 05.08.2021 20:51 # 0
DypHuu_niBEHb 05.08.2021 20:53 # +1
Это есть примерно во всей скриптушне и в котлине еще вроде
3EHuTHblu_nemyx 05.08.2021 20:59 # 0
DypHuu_niBEHb 05.08.2021 21:10 # +1
Fike 05.08.2021 21:08 # 0
Fike 05.08.2021 21:09 # +1
DypHuu_niBEHb 05.08.2021 21:10 # −1
Fike 05.08.2021 21:13 # 0
Desktop 05.08.2021 21:18 # 0
только мной никто не интересуется и арбузов у меня нет, а так один в один!
guest6 05.08.2021 19:49 # 0
3EHuTHblu_nemyx 05.08.2021 19:56 # 0
guest6 05.08.2021 20:04 # +1
https://ideone.com/crF1zG
3EHuTHblu_nemyx 05.08.2021 20:06 # 0
DypHuu_niBEHb 05.08.2021 20:10 # +1
(foo, bar) = goBar()
guest6 05.08.2021 17:55 # +2
https://tjournal.ru/tech/420240-inzhener-google-yadro-linux-slishkom-opasno-dlya-android-iz-za-slozhnosti-i-rosta-uyazvimostey-ego-nuzhno-peredelyvat?from=rss
3EHuTHblu_nemyx 05.08.2021 18:00 # +2
Desktop 05.08.2021 21:23 # +1
– ебать ты олд