SML# - Tutorial/017-1 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

[ [[トップ |Tutorial]]| [[目次|Tutorial/000]] | [[前ページ|Tutorial/017]] | [[ 次ページ |Tutorial/017-2]] ]
----
!以下のリスト生成関数を定義せよ.
# 自然数nを受け取り,nから1までの自然数のリストを返す関数downFromN.
# 自然数nを受け取り,1からnまでの自然数のリストを返す関数uptoN.
# 自然数nとkを受け取り,nからn+k-1までの自然数のリストを返す関数fromNtoK.
# 自然数nとkを受け取り,0からkまでの繰り返すn個の自然数のリストを返す関数KcycleUptoN.
# 文字cと自然数nを受け取り,cから順にn個の文字のリストを返す関数charList.


!以下のリスト処理関数を定義せよ.

1. 整数のリストの要素の積を計算する関数:prodList.例えば以下のような動作をする.
# prodList [1,2,3];
val it = 6 : int
2. リストを要素の組みのリストに変換する関数pairList.例えば以下のような動作をする.
# pairList [1,2,3];
val it = [(1,1), (2,2), (3,3)] : int * int list
3. リストのリストを1段階のリストに変換する関数flatten.例えば以下のような動作をする.
# flatten [[1],[2,3],[4]];
val it = [1, 2, 3, 4] : int list
4. 文字列のリストを受け取り,それら文字を連結して得られる文字列を返す関数:implodeString.例えば以下のような動作をする.
# implodeString ["It", " is", " the", " time", " for", " a", " new", " ML", " language."];
val it = "It is the time for a new ML language" : string

[[解答例|Tutorial/017-2]]

----
[ [[トップ |Tutorial]]| [[目次|Tutorial/000]] | [[前ページ|Tutorial/017]] | [[ 次ページ |Tutorial/017-2]] ]