Interface IErlObject
All Erlang terms implement this interface
Inherited Members
System.IComparable.CompareTo(System.Object)
System.IComparable<NFX.Erlang.IErlObject>.CompareTo(NFX.Erlang.IErlObject)
System.IEquatable<NFX.Erlang.IErlObject>.Equals(NFX.Erlang.IErlObject)
Assembly: NFX.Erlang.dll
Syntax
public interface IErlObject : IComparable, IComparable<IErlObject>, IEquatable<IErlObject>, ICloneable
Properties
IsScalar
Determines whether the underlying type is scalar or complex (i.e. tuple, list)
Declaration
Property Value
Type |
Description |
System.Boolean |
|
TypeOrder
Defines order of the Erlang term for comparison purposes
Declaration
ErlTypeOrder TypeOrder { get; }
Property Value
ValueAsBool
Declaration
bool ValueAsBool { get; }
Property Value
Type |
Description |
System.Boolean |
|
ValueAsByteArray
Declaration
byte[] ValueAsByteArray { get; }
Property Value
Type |
Description |
System.Byte[] |
|
ValueAsChar
Declaration
char ValueAsChar { get; }
Property Value
Type |
Description |
System.Char |
|
ValueAsDateTime
Declaration
DateTime ValueAsDateTime { get; }
Property Value
Type |
Description |
System.DateTime |
|
ValueAsDecimal
Declaration
decimal ValueAsDecimal { get; }
Property Value
Type |
Description |
System.Decimal |
|
ValueAsDouble
Declaration
double ValueAsDouble { get; }
Property Value
Type |
Description |
System.Double |
|
ValueAsInt
Declaration
Property Value
Type |
Description |
System.Int32 |
|
ValueAsLong
Declaration
long ValueAsLong { get; }
Property Value
Type |
Description |
System.Int64 |
|
ValueAsObject
Declaration
object ValueAsObject { get; }
Property Value
Type |
Description |
System.Object |
|
ValueAsString
Declaration
string ValueAsString { get; }
Property Value
Type |
Description |
System.String |
|
ValueAsTimeSpan
Declaration
TimeSpan ValueAsTimeSpan { get; }
Property Value
Type |
Description |
System.TimeSpan |
|
Methods
Clone()
Clone an instance of Erlang object by performing deep copy of non-scalar terms
and shallow copy of scalar terms
Declaration
Returns
Match(IErlObject)
Perform pattern match on this Erlang term returning null if match fails
or a dictionary of matched variables bound in the pattern
Declaration
ErlVarBind Match(IErlObject pattern)
Parameters
Returns
Match(IErlObject, ErlVarBind)
Perform pattern match on this Erlang term, storing matched variables
found in the pattern into the binding.
Declaration
bool Match(IErlObject pattern, ErlVarBind binding)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Matches(IErlObject)
Perform pattern match on this Erlang term without binding any variables
Declaration
bool Matches(IErlObject pattern)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Subst(ref IErlObject, ErlVarBind)
Substitute variables in a given Erlang term provided a dictionary
of bound values
Declaration
bool Subst(ref IErlObject term, ErlVarBind binding)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Visit<TAccumulate>(TAccumulate, Func<TAccumulate, IErlObject, TAccumulate>)
Execute fun for every nested term
Declaration
TAccumulate Visit<TAccumulate>(TAccumulate acc, Func<TAccumulate, IErlObject, TAccumulate> fun)
Parameters
Type |
Name |
Description |
TAccumulate |
acc |
|
System.Func<TAccumulate, IErlObject, TAccumulate> |
fun |
|
Returns
Type |
Description |
TAccumulate |
|
Type Parameters
Name |
Description |
TAccumulate |
|
Extension Methods