スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

F#入門編落穂拾い その7 (function キーワード)

例えば、次のような「リストの2番目の要素を返す関数」があるとします。
 
> let secondEle lst =
    match lst with
    | a::b::_ -> Some b
    | _ -> None;;
 
val secondEle : 'a list -> 'a option
 
このような、引数が一つで、それがすぐmatchの対象となる関数にはfunctionキーワードを使った略記法が準備されています。次のようになります。 
 
> let secondEle =
    function
    | a::b::_ -> Some b
    | _ -> None;;
 
val secondEle : 'a list -> 'a option
 
短いけど終わり!
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

No title

同じことですけど、
function は、引数を1つ取るマッチする内容をもつ関数の略記なので、
F#では、カリー化されるので、2つ以上引数がある関数でも使えます。
その場合、最後の引数がfunction で使われるということになります。

function
|a::b::_ -> Some b
| _ -> None
は、
fun x ->
match x with
|a::b::_ -> Some b
| _ -> None
の略記。

例:リストの2番目の要素をn倍したものを返す
let secondEle n = function a::b::_ -> Some (b * n) | _ -> None;;

No title

コメントありがとうございます。なるほど、このようにも使えるのですね。
プロフィール

T GYOUTEN

Author:T GYOUTEN
F#と英単語とフリーソフトと読書に興味があります。
ホームページでフリーソフトも公開しています。どぞ御贔屓に。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
フリーエリア
フリーエリア
blogram投票ボタン
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。