루아 p.07 - 함수

루아의 함수 형태는 C언어와 상당히 비슷하지만, 루아는 입력 인자값의 형(type)과 반환 형이 없으며, 한 개 이상의 값을 반환하는 것이 가능합니다. 다음의 예제는 입력 값들의 합과 평균을 구하는 코드를 C언어와 루아로 작성한 예제입니다.

  • C언어

    int GetSum( int num1, int num2, int num3)
    {
        int sum = num1 + num2 + num3;
        return sum;
    }

    float GetAverage( int num1, int num2, int num3)
    {
        float average = (float)( num1 + num2 + num3) / 3.0f;
        return average;
    }


    void main()
    {
        int num1 = 10;
        int num2 = 20;
        int num3 = 30;

        int sum = GetSum( num1, num2, num3);
        float average = GetAverage( num1, num2, num3);

        printf( "Sum = %d, Average = %f", sum, average);
    }

  • 루아

    function GetSumAverage( num1, num2, num3)
        local sum = num1 + num2 + num3;
        local average = sum / 3;
        return sum, average;
    end


    function main()
        local num1 = 10;
        local num2 = 20;
        local num3 = 30;

        local sum, average = GetSumAverage( num1, num2, num3);

        printf( "Sum = " .. sum .. ", Average = " .. average);
    end

댓글 1개:

Unknown :

printf( "Sum = " .. sum .. ", Average = " .. average);
이 분 루아 언어로 하면면 'print'인데 'f'가 더 추가되었네요!