МетаданныеMetadata

Метаданные — это сведения о значении, которое связано со значением.Metadata is information about a value that is associated with a value. Метаданные представлены в виде значения записи, которое называется записью метаданных.Metadata is represented as a record value, called a metadata record. Поля записи метаданных можно использовать для хранения метаданных значения.The fields of a metadata record can be used to store the metadata for a value. Каждое значение имеет запись метаданных.Every value has a metadata record. Если значение записи метаданных не указано, то запись метаданных пуста (не содержит поля).If the value of the metadata record has not been specified, then the metadata record is empty (has no fields). Связывание записи метаданных со значением не влияет на поведение значения в вычислениях, за исключением тех, которые явно проверяют записи метаданных.Associating a metadata record with a value does not change the value’s behavior in evaluations except for those that explicitly inspect metadata records.

Значение записи метаданных связывается со значением x с помощью синтаксиса "значение meta [запись]".A metadata record value is associated with a value x using the syntax value meta [record]. Например, следующая связывает запись метаданных с полями Rating и Tags с текстовым значением "Mozart":For example, the following associates a metadata record with Rating and Tags fields with the text value "Mozart":

"Mozart" meta [ Rating = 5,   
Tags = {"Classical"} ]  

Обратиться к записи к записи метаданных для значения можно с помощью функции Value.Metadata.A metadata record can be accessed for a value using the Value.Metadata function. В следующем примере выражение в поле ComposerRating обращается к записи метаданных значения в поле Composer, а затем обращается к полю Rating записи метаданных.In the following example, the expression in the ComposerRating field accesses the metadata record of the value in the Composer field, and then accesses the Rating field of the metadata record.

[  
    Composer = "Mozart" meta [ Rating = 5, Tags = {"Classical"} ],  
    ComposerRating = Value.Metadata(Composer)[Rating]   // 5  
]  

Записи метаданных не сохраняются, если значение используется с оператором или функцией, создающими новое значение.Metadata records are not preserved when a value is used with an operator or function that constructs a new value. Например, если два текстовых значения сцеплены с помощью оператора &, метаданные итогового текстового значения будут представлены пустой записью [].For example, if two text values are concatenated using the & operator, the metadata of the resulting text value is an empty record [].

Функции стандартной библиотеки Value.RemoveMetadata и Value.ReplaceMetadata можно использовать для удаления всех метаданных из значения и для замены метаданных значения.The standard library functions Value.RemoveMetadata and Value.ReplaceMetadata can be used to remove all metadata from a value and to replace a value’s metadata.