Ответ 1
Это просто лямбда-выражение, которое использует _
вместо x
для своего параметра. _
является допустимым идентификатором, поэтому его можно использовать в качестве имени параметра.
Как упомянуто в комментариях, среди некоторых разработчиков принято называть его _
, чтобы указать, что оно на самом деле не используется лямбда-выражением, но не более того: соглашение.
Обратите внимание, что это не то же самое, что discard (введенный через несколько лет после этого ответа), которая представляет собой специальную переменную для назначения значений, которые не будут использоваться и вместо этого будут отброшены. В отличие от отброшенных значений, параметры _
продолжают существовать в области лямбды; они просто нигде не используются в лямбда-выражении. И одновременно может быть только один _
.