2017-03-09 4 views
2

가변 개수의 인수로 메소드를 구현하려면 어떻게해야합니까?가변 개수의 인수로 메소드를 구현하려면 어떻게해야합니까?

In C#, we can use the params keyword :

public class MyClass 
{ 
    public static void UseParams(params int[] list) 
    { 
     for (int i = 0; i < list.Length; i++) 
     { 
      Console.Write(list[i] + " "); 
     } 
     Console.WriteLine(); 
    } 
} 

그래서 어떻게이 F #으로 할 수

?

The pattern discriminator 'params' is not defined 
+0

가능한 중복 , 어떻게 카레 ParamArray 함수 (리 ke sprintf)?] (http://stackoverflow.com/questions/11145680/in-f-how-do-you-curry-paramarray-functions-like-sprintf) –

답변

8

당신은 ParamArrayAttribute를 사용할 수 있습니다 :

type MyClass() = 

    member this.SomeMethod(params (args:string array)) =() 

나는 위의 코드에서 다음과 같은 오류가 나타날 수

type MyClass() = 
    member this.SomeMethod([<ParamArray>] (args:string array)) = Array.iter (printfn "%s") args 

다음 : [에서 F 번호의

let mc = MyClass() 
mc.SomeMethod("a", "b", "c") 
+0

한 번에 배열을 전달하는 방법? – Mohsen