2016-09-23 7 views
0

私はOzの学習に取り組んでいますが、公式のドキュメントとは別にオンラインリソースはほとんどありませんが、実際のパーティションを作成するためにリストをスキャンする方法は本当に苦労しています。関数。この例では、リストの最初の数字を返そうとしています。どうすればいい?Ozでリスト内の個々の番号をスキャンする

declare 

fun {Partition ?X} 
    case X of nil then nil 
    else 
     {Show "HELLO!"} 
     RETURN FIRST DIGIT OF X HERE? 
    end 
end 

in 
{Show {Partition [5 1 7 3 4 6 5]}} 
+0

「公的な書類とは別に、オンラインリソースがほとんどありません。本当に苦労しています。」ルーヴェンのカトリック大学のオンラインコースについて知っていますか? – beroal

答えて

2

2番目のケース句プットとして、パターンマッチングを使用することができます。

case X of nil then nil 
[] A|B then A  
end 

Xこの場合は[5 1 7 3 4 5 6]に等しく、のみ一致句は秒最も簡単な方法は、Aに5を、Bに[1 7 3 4 6 5]を割り当てることです。これはちょうど始まりですが、複雑な句を追加したり、複雑な作業を行うために再帰を使用したりすることができます。

関連する問題