convert an expression to a record
convert( e, 'record' )
The calling sequence convert( e, 'record' ) converts the expression e to a record.
The input expression e must be a module without local variables, a list of equations whose left-hand sides are symbols, or a table all of whose indices are symbols. No other expression may be converted to a record.
Note: If the input expression e is a record, then it is returned unchanged.
If the input expression e is a module, then it must not have non-exported local variables to be converted to a record. The resulting record has the names of the module exports as slot names, and their assigned values (if any) as the corresponding slot values.
A list of equations of the form [name1=value1,name2=value2,...,namek=valuek] may be converted to a record. Each left-hand side namei must be a symbol. In this case, the resulting record is precisely the one that would be obtained by calling the Record constructor with the given equations as arguments.
If the input expression e is a table, then every one among its indices must be a symbol. The resulting record has the table indices as slot names, and the corresponding tabular values as the record slot values.
r ≔ Record⁡a=1,b=2
m ≔ moduleexporta,b;a ≔ 1;b ≔ 2end module:
m ≔ modulelocalu;exporta,b;a ≔ 1;b ≔ 2;u ≔ 3end module:
Attempting to convert a module with a local variable to a record results in an error.
Error, (in `convert/record`) cannot convert a module with locals to a record
Download Help Document
What kind of issue would you like to report? (Optional)