2
我有一個正在正確工作的函數... 但是,不幸的是在顯示它之前構造了一個很大的字符串。SML:通過直接打印字符串替換連續字符
我想顯示每個字符串,而不是直接concatening人,但我不知道該怎麼辦呢?
下面是函數:
fun getBlocked w =
case BlockingMgr.listBlockedSuccessors w
of nil => ""
| ws =>
concat (
List.map (
fn (r, w') => (
" v "^r^
" w "^Int.toString (Node.getId w)^
" w"^Int.toString (Node.getId w')^"\n"
) ws
)
這個功能是連接所有在w'
可能再:
fun af w = print(getBlocked(w))
隨着af
我能夠顯示一個節點。然後在最後的代碼我打電話
app af (Nodestore.listNodes())
和我的功能app
將調用af
我listNodes()
的所有Node
。
所以,正如我所說的,這段代碼正在工作,但是當列表開始變得龐大時,它不再可用了......我的猜測是concat
絕對不是一個好主意,所以我想替換它並能夠直接顯示每個w
的每個w'
後繼者。但不幸的是,我在SML相當新手,我不知道該怎麼做...提前
感謝您的幫助:)
問候。
謝謝! * - *這正是我想要的:) 我現在只需要一個函數從你寫的是給我的時間,我們稱之爲'renderW'的數量,我會完全解決我的問題:) 任何想法我怎麼能做到這一點? 如果不是沒關係,你已經做了很多我會從這個:) –
@ValentinMontmirail我已經添加了一個版本。希望能幫助到你。 –
似乎很不錯:)但我需要先知道它會有多少,然後我需要顯示它:/ 而在這段代碼中它是在同一時間:/我真的不知道我可以訪問這個'count':/ –