javascript - 了解Java / Apex复杂三元运算符

2020年3月23日 34点热度 0条评论

这是顶点代码,但是对于提议,它似乎像在Java或JScript中一样工作。

我有以下代码行(包括注释):

// If GPMIR_fld_codigoOrigen__c 09 Fotofactura will not be assigned to agency for send csv

eLead.GPMIR_fld_assignAgency__c = (eLead.GPMIR_fld_codigoOrigen__c!='09') ? ((u.Contact != null && u.Contact.Account != null && rt == 'Agencia') ? u.Contact.Account.Id : null) : null;

尝试将其转换为常规if-else(我认为这是在发生这种情况)(包括评论):

// If GPMIR_fld_codigoOrigen__c != 09 then GPMIR_fld_assignAgency__c == null

if(eLead.GPMIR_fld_codigoOrigen__c!='09'){
    if(u.Contact != null && u.Contact.Account != null && rt == 'Agencia'){
        eLead.GPMIR_fld_assignAgency__c = u.Contact.Account.Id;
    }else{
        eLead.GPMIR_fld_assignAgency__c = null;
    }
}else{
    eLead.GPMIR_fld_assignAgency__c = null;
}

可能我是错的,但是如果有人可以帮助我进行适当的翻译,我将不胜感激

解决方案如下:

似乎正确,但您也可以在函数中执行此操作

Public string MyFunction(){
 if(eLead.GPMIR_fld_codigoOrigen__c!='09'){
    if(u.Contact != null && u.Contact.Account != null && rt == 'Agencia'){
        Return u.Contact.Account.Id;
    }
}
Return null;
}```
//Then in main(), eLead.GPMIR_fld_assignAgency__c = MyFunction()

希望我也是对的。