apex/Salesforce中是否有eval()等价物?
我已经对此进行了研究,似乎没有直接相关的函数可用,因为Apex是强类型的,但我想知道是否有人找到了解决方法。我正在设计一个信用风险对象,我的客户希望能够在更新字段时插入诸如“150+3”而不是“153”之类的表达式,以帮助加快处理速度。不幸的是,我是salesforce的新手,所以我很难想出点子。这是否可行?您可以允许手工输入SOQL语句,然后使用动态SOQL来处理它们。但这需要比“150+3”多一点apex/Salesforce中是否有eval()等价物?,salesforce,eval,apex-code,Salesforce,Eval,Apex Code,我已经对此进行了研究,似乎没有直接相关的函数可用,因为Apex是强类型的,但我想知道是否有人找到了解决方法。我正在设计一个信用风险对象,我的客户希望能够在更新字段时插入诸如“150+3”而不是“153”之类的表达式,以帮助加快处理速度。不幸的是,我是salesforce的新手,所以我很难想出点子。这是否可行?您可以允许手工输入SOQL语句,然后使用动态SOQL来处理它们。但这需要比“150+3”多一点 否则,您可以在JavaScript中执行此操作,并将值作为已计算的数字传递回Apex。可以通过
否则,您可以在JavaScript中执行此操作,并将值作为已计算的数字传递回Apex。可以通过在工具或Apex API上调用executeAnonymous API方法来模拟Apex中的JavaScript eval() 诀窍是您需要在eval字符串体中传递任何必需的输入参数。如果需要响应,则需要一种机制来提取响应 有两种常见的方法可以从ExecuteAnyMous获得响应
integer sum = soapSforceCom200608Apex.evalInteger(
'integer result = 150 + 3; System.debug(LoggingLevel.Error, result);');
您可能无法在成员初始化期间或在构造函数中执行调用
顺便说一句,是询问Salesforce特定问题的好地方。Script.apex可以帮助评估javascript表达式。看看这个。就这么简单
整数结果=(整数)ScriptEngine.getInstance().eval('1+2') 好主意。谢谢,我试试看。