Эт просто ты пытаешься использовать его как свитч-кейс
Скорее как унификацию
https://doc.rust-lang.org/book/ch18-03-pattern-syntax.html ?
Тебе в другой чат
Я понимаю почему этот код работает так. Я не понимаю почему сделано дизайнерами так
Так сделано же логично. Ты в матч передаешь в качестве параметра - значение, а потом сравниваешь с шаблоном. В твоем случае y забирает владение и шадовитсч
Ну ты не можешь просто посмотреть на match и понять, y у тебя из внешнего скоупа или это новое имя
В разных языках match разный. Тут выбран кастрированный вариант. Возможно из за проблем с владением
Покажи мне язык, где ты можешь использовать значения из внешнего скоупа в паттернах
В rust один из лучших паттерн матчингов, что я видел. Хз, как ты иначе себе представляешь его
В прологе, понятное дело, это будет работать именно так, как @MakarovSergey22 хочет. Унификация строго выразительнее паттерн матчинга, если не ошибаюсь. $ swipl ?- X = 4, Y = 5, memberchk(X: R, [ 1: "one", Y: "five", _: "else"]), print(R). "else" ?- X = 5, Y = 5, memberchk(X: R, [ 1: "one", Y: "five", _: "else"]), print(R). "five"
Как я писал выше. Вопрос, каким языком является пролог динамическим/статическим?
Это тут не имеет большого значения. Был типизированный пролог еще.
Есть TypeScript, он же от этого статическим не стал
есть типы - есть статичность
типы везде есть
в жс нет
Mercury, erlang
typeof сделай
1. это част по расту 2. можно было бы посмотреть на википедии Typing discipline Untyped (its single data type is "term")
Странный ответ) Это был риторический вопрос как раз с отсылкой к расту
Обсуждают сегодня