我非常使用的Makefile初學者。我想更新變量,這樣或多或少:
LEVEL=0
train:
while (eval_score > previous_eval_score)
make iterate
iterate:
do stuff
write files to /path/to/$(LEVEL)/asdf.txt
$(LEVEL)++
換句話說,每一次迭代一些文件寫入一個目錄中,第一至/路徑/到/ 0,則/路徑/到/ 1等等,直到達到某個閾值。
顯然,不允許更新或重新分配函數內的變量。我已經搜索了一段時間,但無法找到任何滿意的答案。也許我有,但我不明白一切。我也嘗試過在bash中計算的東西,但最終我仍然需要更新變量。也許我應該嘗試更新文件,而不是每次迭代,只需從文件中讀取?
謝謝你的時間。
能否請您解釋一下爲什麼純淨殼就不會在這裏就夠了? 'while(eval_score> previous_eval_score);做東西;寫文件;完成「似乎更容易和更富有表現力,所以我認爲你有一個去做的理由。 – thiton 2011-12-22 15:17:04
嗨蒂頓,謝謝你的回覆。 makefile還包含一些其他功能,這些功能依次調用一些腳本,其中一些功能是分層的,在我看來這很適合。我也更喜歡make,因爲我覺得它更優雅,更易於管理。但你可能是正確的,我也可以使用shell腳本。我想解決的主要問題是每當迭代完成時向$(LEVEL)變量添加1。我只是很好奇,看看是否可以做,而不必做出重大改變。問候,吉迪恩 – Gideon 2011-12-22 17:33:08