我想寫一個函數,將運行就像cfquery的valuelist()函數。這裏是我的代碼:試圖寫UDF來創建從ORM對象的價值列表
links = entityload('press_releases_lnk',{prp_pr_id=article.getpr_id()});
function ormvaluelist(object,colname){
retrnstr = '';
for(mynum=1;mynum<=arraylen(object);mynum++){
myvalue = object[mynum].getcolname();
retrnstr = retrnstr&myvalue&',';
}
return retrnstr;
}
catlist=ormvaluelist(links,'prp_product_cat');
問題是讓「getcolname」使用我傳入的變量作爲列名稱。我相信我只是想念一些簡單的東西。
感謝
'myvalue = object [mynum] [colname]; myvalue = myvalue();'? – 2013-03-05 17:34:54
@Peter - 這是關閉的一個例子嗎? – 2013-03-05 17:36:56
不是。這是Adobe無法實現世界其他地方使用的'myvalue = object [mynum] [colname]()'語法的解決方法。 (這可能或不是OP的結果)。閉包是一種「封閉」其狀態的函數 - 請參閱http://en.wikipedia.org/wiki/Closure_(computer_science) – 2013-03-05 17:37:56