locked
F#の匿名型について RRS feed

  • 質問

  • 今F#の可能性を探るため学習しています。

    そこでC#でいうところの匿名型

    new{A=1}

    はF#においては

    {A=1}

    と書くことは出来ず

    type T={
        A:int
    }
    {A=1}

    と型を定義してからの例しか見つけることができませんでした。

    F#においては匿名型はないのでしょうか?

    • 移動 星 睦美 2014年6月2日 4:56 .Net Framework 全般 から
    2014年5月30日 9:13

回答

  • # 明らかにF#言語の話題ですのでF#フォーラムが適切に思います。

    F#には匿名型はありません。型を定義せずに済ますには一般にはTupleを使用します。
    ただし、C#ではTuple.Create()メソッドを使う必要がありましたが、

    Tuple.Create(1, "abc"); // Tuple<int, string>型

    F#に於いては ,演算子がTupleを構築するため

    1, "abc"  // Tuple<int, string>型 もしくは int * string 型

    と表せます。

    • 回答としてマーク 和和和 2014年5月30日 10:17
    2014年5月30日 9:22

すべての返信

  • # 明らかにF#言語の話題ですのでF#フォーラムが適切に思います。

    F#には匿名型はありません。型を定義せずに済ますには一般にはTupleを使用します。
    ただし、C#ではTuple.Create()メソッドを使う必要がありましたが、

    Tuple.Create(1, "abc"); // Tuple<int, string>型

    F#に於いては ,演算子がTupleを構築するため

    1, "abc"  // Tuple<int, string>型 もしくは int * string 型

    と表せます。

    • 回答としてマーク 和和和 2014年5月30日 10:17
    2014年5月30日 9:22
  • ありがとうございました。

    F#のフォーラムの件は見当たらなかったことと、C#やVBのフォーラムも以前はあったようなんですがなくなっているように思いますが探し間違えたのかもう一度見直してみます。

    2014年5月30日 10:19