public override ISCType Add(ISCType obj) { if (obj.IsOfType <SC_Int, SC_Long>()) { return(new SC_Long(value + obj.GetValueAs <long>())); } if (obj.IsOfType <SC_String>()) { return(new SC_String(value + obj.GetValueAs <string>())); } throw new ArgumentException($"you cant add {obj.GetType()} to a long"); }
public override ISCType Multiply(ISCType obj) { if (obj.IsOfType <SC_Int>()) { return(new SC_Long(value * obj.GetValueAs <int>())); } if (obj.IsOfType <SC_Long>()) { return(new SC_Long(value * obj.GetValueAs <long>())); } throw new ArgumentException("Sorry you cant multiply a string with an int"); }
public override ISCType Add(ISCType obj) { if (obj.IsOfType <SC_Int>()) { return(new SC_Int(value + obj.GetValueAs <int>())); } if (obj.IsOfType <SC_Long>()) { return(new SC_Long(value + obj.GetValueAs <long>())); } return(new SC_String(value.ToString() + obj.GetValueAs <string>())); }
public override ISCType Subtract(ISCType obj) { if (obj.IsOfType <SC_Int, SC_Long>()) { return(new SC_Long(value - obj.GetValueAs <long>())); } throw new ArgumentException($"you cant subtract {obj.GetType()} to a long"); }
public override ISCType Multiply(ISCType obj) { if (obj.IsOfType <SC_Int, SC_Long>()) { return(new SC_Long(value * obj.GetValueAs <long>())); } throw new ArgumentException($"you cant multiply {obj.GetType()} to a long"); }
public override ISCType Multiply(ISCType obj) { if (obj.IsOfType <SC_Int, SC_Long>()) { string s = ""; for (int i = 0; i < obj.GetValueAs <int>(); i++) { s += value; } return(new SC_String(s)); } throw new ArgumentException("You cant multiply two strings together!"); }
public override bool IsLower(ISCType obj) { return(obj.IsOfType <SC_Int, SC_Long>() && value < obj.GetValueAs <long>()); }
public override bool IsEqual(ISCType obj) { return(obj.IsOfType <SC_Long, SC_Int>() && obj.GetValueAs <long>() == value); }
public override bool IsEqual(ISCType obj) { return(obj.IsOfType <SC_String>() && obj.GetValueAs <string>().Equals(value)); }
public override ISCType Add(ISCType obj) { return(new SC_String(value + obj.GetValueAs <string>())); }