看板 C_and_CPP 關於我們 聯絡資訊
C的#define可以拿來「單字」抽換成另外一個「單子」 但是有辦法可以「語句」抽換成「語句」嗎? 我要的不是像巨集一樣 macro(args) 之類的 來進行抽換 而是例如:把How are you?抽換成I'm fine. Thank you. (以上代表是code語句而不是用引號包起來的字串...) 有辦法做到嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.77.52.127
taiwan2000:請問為什麼要這樣做 用意是? 03/20 10:18
softwind:不好意思 中文英文都不好 看不懂問題點... 03/20 10:58
softwind:這個要用 editor來做 ctrl+r,How... I'm..., replace all 03/20 10:59
QQ29:有辦法寫成 #define OUT printf( 03/20 11:11
QQ29:OUT"hi"); 03/20 11:12
QQ29:這種code嗎? 如果不行 是因為規定嗎? 03/20 11:12
例如我想將一個assignment改成呼叫function 例如 當我這樣寫的時候: aNumberObject.int = 10; <==這是code的使用寫法 實際上是會被compiler認為是: aNubmerObject.setInt(10); <==這時實際上的執行內容 這樣我就能在setInt()的function去改變這個assignment的行為... 而可以在aNumberObject.int使用特定的setter/getter 這只是一種舉例 如果可以改變語句的定義 可以做的事情應該會更多 ※ 編輯: leondemon 來自: 120.126.97.60 (03/20 11:59)
avhacker:請愛用 regular expression 03/20 12:18
loveme00835:assignment 超直覺的啊! C#的存取子就是這樣來的 03/20 12:57
或者是我想要用macro的功能 但是呼叫時不想用macro的方式 (就是呼叫時 不想寫的像呼叫一個function) 而可以讓我用「幾個字」來呼叫一個macro (還是說有辦法用字串呼叫macro?) ※ 編輯: leondemon 來自: 120.126.97.60 (03/20 13:05)
final01:感覺妳是該學OO那一套? 03/20 13:03
leondemon:是的! 我是要用OO那套 但不是原本內定OO語法 而是新的 03/20 13:07
leondemon:感覺有點像自定新的語法來寫OO 03/20 13:07
※ 編輯: leondemon 來自: 120.126.97.60 (03/20 13:09)
leondemon:或是說替原本的OO語法增加新的語意 03/20 13:11
softwind:Ruby-way: def = (in) begin self.in=in end 03/20 14:42
ducksteven:學弟名言:「存取私變數, #define private public」 03/20 18:16