2014-01-30 2 views
8

줄리아의 다음 코드 벡터 {문자열} 입력을 허용하지 않습니다 실행은 예상대로 :벡터 {AbstractString} 함수 매개 변수는 줄리아

function foo(a::Vector{String}) 
end 
foo(["a"]) 

그리고 더, AbstractString는 일반적으로,383,685,724 일치와 같이 :

function foo(::AbstractString) 
end 
foo("a") 
내가 String 요소가 있다면 나는 Vector{AbstractString} 매개 변수와 함께 함수를 호출 할 수있는 방법

?

답변

8

당신은이 같은 함수 서명 작성해야합니다 :

function foo{S<:AbstractString}(a::Vector{S}) 
    # do stuff 
end 
줄리아 0.6에

과 새를,이 줄리아의 파라 메트릭 유형의 불변의 결과이다

function foo(a::Vector{<:AbstractString}) 
    # do stuff 
end 

대신 쓸 수도 있습니다 . 자세한 내용은 설명서의 chapter on types을 참조하십시오.