2009-12-10 50 views
0

我想編寫一個子程序來確定要做什麼然後返回。從一個子程序返回

在你跳轉到「返回的子程序是一個函數LOL!」之前我希望返回被執行,因爲它在調用子例程的函數體中執行,就像我有一個預處理器來執行替換一樣,否則這個代碼庫會非常快速地變得笨拙,並返回返回值的功能似乎很爛。

請問vb(抱歉,我不能更具體地說明什麼版本 - 我正在爲嵌入式系統編寫公式,我們的API文檔是「它運行vb」)讓我這麼做或堆在一堆?

+1

調查vb(.net?)是否可以返回指向函數的指針或引用。我知道你可以用C/C++。然後你可以盲目地執行你的'子程序'的響應。 – whatsisname

+0

@whatsisname:我不完全確定我明白你的意思嗎?我可以通過AddressOf關鍵字來判斷他們在做什麼,從而傳遞給函數的引用。不幸的是,雖然我不確定這有何幫助? – richo

回答

2

我想,因爲它是在函數體中調用子程序,就好像我有一個預處理器做了替換,否則該代碼庫將會變得笨拙真快,要進行恢復,並返回一個函數的返回值似乎是kludgy。

不是。尾巴呼叫是一種很好的工作方式。

它們比擁有一個永遠不能被調用的函數要好得多,除非你想返回它的值。

+0

該函數在任何其他上下文中都是無用的。下一個最可取的選擇是實現我自己的預處理器來替代宏。謝謝,但我可以在此期間使用它來實現它,因爲如果沒有其他問題,如果正確實施,它們應該是可以互換的。 – richo

0

這聽起來像你問C/C++風格的宏是否可以在VB中實現,答案是否定的。你可以通過生成vbscript來僞造它,並且替換正確的東西。

VB.Net中的Lambda和代表與你所要求的不同 - 如果我的解釋是正確的。