비순수 함수

다음 코드에서 HypenatedConcat 함수는 클래스에서 aMember 데이터 멤버를 수정하기 때문에 순수 함수가 아닙니다.

public class Program
{
    private static string aMember = "StringOne";

    public static void HypenatedConcat(string appendStr)
    {
        aMember += '-' + appendStr;
    }

    public static void Main()
    {
        HypenatedConcat("StringTwo");
        Console.WriteLine(aMember);
    }
}

 

순수함수

class Program
{
    public static string HyphenatedConcat(string s, string appendStr)
    {
        return (s + '-' + appendStr);
    }

    public static void Main(string[] args)
    {
        string s1 = "StringOne";
        string s2 = HyphenatedConcat(s1, "StringTwo");
        Console.WriteLine(s2);
    }
}

이런것도 있었구나.

참조 - http://msdn.microsoft.com/ko-kr/library/bb669139.aspx

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
1  ... 5 6 7 8 9 10 11 12 13  ... 87 

글 보관함

get rsstistory!