Triggering a standard syntax error if the input value is negative.
ID: 479
using uCalcSoftware;
var uc = new uCalc();
static void DoublePositive(uCalc.Callback cb) {
// If input is negative, raise a syntax error.
if (cb.Arg(1) < 0) {
cb.Error.Raise(ErrorCode.Syntax_Error);
}
cb.Return(cb.Arg(1) * 2);
}
uc.DefineFunction("DoublePositive(x)", DoublePositive);
Console.WriteLine(uc.EvalStr("DoublePositive(10)"));
Console.WriteLine(uc.EvalStr("DoublePositive(-5)"));
20
Syntax error using uCalcSoftware; var uc = new uCalc(); static void DoublePositive(uCalc.Callback cb) { // If input is negative, raise a syntax error. if (cb.Arg(1) < 0) { cb.Error.Raise(ErrorCode.Syntax_Error); } cb.Return(cb.Arg(1) * 2); } uc.DefineFunction("DoublePositive(x)", DoublePositive); Console.WriteLine(uc.EvalStr("DoublePositive(10)")); Console.WriteLine(uc.EvalStr("DoublePositive(-5)"));
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
void ucalc_call DoublePositive(uCalcBase::Callback cb) {
// If input is negative, raise a syntax error.
if (cb.Arg(1) < 0) {
cb.Error().Raise(ErrorCode::Syntax_Error);
}
cb.Return(cb.Arg(1) * 2);
}
int main() {
uCalc uc;
uc.DefineFunction("DoublePositive(x)", DoublePositive);
cout << uc.EvalStr("DoublePositive(10)") << endl;
cout << uc.EvalStr("DoublePositive(-5)") << endl;
}
20
Syntax error #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; void ucalc_call DoublePositive(uCalcBase::Callback cb) { // If input is negative, raise a syntax error. if (cb.Arg(1) < 0) { cb.Error().Raise(ErrorCode::Syntax_Error); } cb.Return(cb.Arg(1) * 2); } int main() { uCalc uc; uc.DefineFunction("DoublePositive(x)", DoublePositive); cout << uc.EvalStr("DoublePositive(10)") << endl; cout << uc.EvalStr("DoublePositive(-5)") << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub DoublePositive(ByVal cb As uCalc.Callback)
'// If input is negative, raise a syntax error.
If cb.Arg(1) < 0 Then
cb.Error.Raise(ErrorCode.Syntax_Error)
End If
cb.Return(cb.Arg(1) * 2)
End Sub
Public Sub Main()
Dim uc As New uCalc()
uc.DefineFunction("DoublePositive(x)", AddressOf DoublePositive)
Console.WriteLine(uc.EvalStr("DoublePositive(10)"))
Console.WriteLine(uc.EvalStr("DoublePositive(-5)"))
End Sub
End Module
20
Syntax error Imports System Imports uCalcSoftware Public Module Program Public Sub DoublePositive(ByVal cb As uCalc.Callback) '// If input is negative, raise a syntax error. If cb.Arg(1) < 0 Then cb.Error.Raise(ErrorCode.Syntax_Error) End If cb.Return(cb.Arg(1) * 2) End Sub Public Sub Main() Dim uc As New uCalc() uc.DefineFunction("DoublePositive(x)", AddressOf DoublePositive) Console.WriteLine(uc.EvalStr("DoublePositive(10)")) Console.WriteLine(uc.EvalStr("DoublePositive(-5)")) End Sub End Module