Круглые скобки, фигурные скобки - PullRequest
4 голосов
/ 06 мая 2019

Я пытаюсь понять этот код: https://github.com/CameronAavik/AdventOfCode/blob/master/Challenges/2018/Day03.fs

Но я не смог найти никакой информации о синтаксисе let let (...) {...} = ... ", например:

let processBoundary (prevY, claimSet, total) {cursor=cursor; isAdding=isAdding; data=(top, height)} = ...

что это? напоминает мне о кортеже и деструктуризации, но, возможно, это не так.

спасибо

1 Ответ

5 голосов
/ 06 мая 2019

Это на самом деле деструктуризация, как с кортежем, просто в этом случае это рекорд.

Заметным отличием является то, что, хотя с кортежем вы должны соответствовать точному количеству и положению отдельных частей, при деструктурировании записи вы можете пропустить любое из полей, которые вас не интересуют.point.

Я написал (не исчерпывающий) пост в блоге о различных способах сопоставления / разрушения паттернов в F # один раз;может быть, это полезно для понимания здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...