0
所以即時嘗試製作一個公司作爲公司的分支和子公司作爲樹葉。 每個公司/子公司都包含名稱,總收入和與子公司的列表。檢索從分支到葉的匹配值
我做了一個函數,爲公司樹中的所有公司/子公司返回一個元組(名稱,總收入)。
我現在想要做的是找到某個公司/子公司的總收入,這意味着該功能應該將所有子公司總收入與公司一起添加並返回結果。它應該只有一個字符串作爲輸入(公司的名稱)。
type Department = a' list
and a' = | SubDep of string * float
| Company of string * float * Department;;
let company =
Company("Arla", 1000.0, [SubDep("Karolines Køkken", 500.0);
Company("Lurpak", 200.0, [SubDep("Butter",100.0); SubDep("Milk", 100.0)]);
SubDep("Arla Buko", 100.0);
Company("Riberhus", 200.0, [SubDep("Cheese",200.0)])
]);;
所以一個例子來看應該是:
companyTotalIncome "Arla" company;;
而且結果應該是:2400
我把公司列爲部門,因爲我認爲它會更有意義。但是,你會建議什麼? – Anonymous 2014-10-12 13:46:46
而我在我的輸入中有這個名字,因爲如果我想爲「Lurpak」找到總收入,那麼它應該採用所有分支和葉子,但僅限於Lurpak – Anonymous 2014-10-12 13:54:14
對於第二個:然後首先搜索子樹Lurpak,然後做recursiv總和 - 爲你的第一:我無法弄清楚你想要做什麼,但我會說一個部門有一個名稱和收入,公司有一個部門名單和子公司名單,而不是 – Carsten 2014-10-12 13:56:22