멀티 디스패치
멀티 디스패치는 Julia의 큰 장점 중 하나로, 프로그램에 유연성과 속도 이점을 제공합니다. 멀티 디스패치는 함수에 전달되는 인수의 타입에 따라 서로 다른 메서드를 실행할 수 있게 해준다는 점을 기억하세요.
영상의 예시는 인수 타입이 문자열인지 여부에 따라 다른 값을 반환하도록 멀티 디스패치를 사용했습니다.
function add_values(x, y)
x + y
end
function add_values(x::String, y::String)
x * y
end
이 연습은 강의의 일부입니다
Julia 중급
연습 안내
- 다음을 수행하는 함수
largest_value를 만드세요:- 입력이
String이면,map으로length함수를 각 인수(x, y, z)에 매핑하세요. - 입력이
Bool이면, 인수들을 그대로 반환하세요. - 그 외의 타입이면,
maximum으로 모든 값의 최댓값을 구하세요.
- 입력이
- 맨 아래 주석 처리된 줄(테스트 케이스)을 제거하고, 논리가 올바른지 확인하세요!
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create three functions to handle any input, String input, and Bool input
function largest_value(x, y, z)
maximum((____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
map(length, (____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
x, y, z
end
# Un-comment this test case to test your function
#println(largest_value("12", "24", "36"))