2009-08-18 31 views
0

我可以根據在程序中是定義變量還是預處理器完全無法訪問這些信息,只包括編譯條件來包含一段代碼?即我後類似的東西:RPG中的條件編譯(LE)

/IF DEFINED(myVariable) 
D myOtherVariable  S     like(myVariable) 
/ELSE 
D myOtherVariable  S    20A 
/ENDIF 

這個link似乎暗示這是不可能的。如果有的話,是否有人知道另一種方式來實現這一點?

回答

3

這將是一個很好的功能,但不幸的是,它今天不這樣工作。 DEFINED後括號中的值必須是定義的條件名稱,而不是變量名稱。使其工作的方法是在任何程序或副本中定義該特定變量時都有一個/ DEFINE指令。就這些情況而言,這取決於使用情況,只要這是否是推薦的做法。

您問題中提供的鏈接是專色,我同意這些結論。

+0

是的,自從發佈您的問題並同意您的贊同以來,我一直在閱讀更多內容。 – 2009-08-18 15:23:51

0

作爲附加提示,請針對此主題使用C編程書籍,而不是IBM RPGLE書籍。 IBM書籍描述了指令可以做什麼。 C書描述了它如何用於現實世界的程序(例如Linux開源程序)。遵循這種風格可以讓您的RPG資源更易於其他程序員閱讀。