f(x,y)
과 같은 기능이 있지만 y
매개 변수는 선택 사항입니다. 선택적 인자로 y
을 설정하는 가장 좋은 방법은 무엇입니까? 나를 위해 적합한 하나의 옵션 :선택 인수에 대한 Julia 규칙
function f(x, y=nothing)
# do stuff
if y == nothing
# do stuff
else
# do stuff
end
# do stuff
end
이 방법이 바람직합니까? y
이 아무 것도 아닌 경우 다르게 수행되는 많은 계산이 있으므로 y
을 계산에 사용할 단일 기본값으로 설정할 수 없습니다. 나는 또한 별도의 기능을 f(x)
과 f(x,y)
가질 수 있지만 너무 많은 코드 중복 것처럼 보입니다.
고마워요! y가 더 나은지/선호하는 방법인지 여부를 확인하는 버전입니까? – ChrKroer
'y == nothing'은 값을 검사 할 때 '아무것도 없다'는 유일한 방법은'typeof (y) <: Void'를 가지므로 하나의 경우라고 생각합니다. 그러나 형식 검사를 항상 사용하는 경우 형식이 안정된 함수가 컴파일 될 것이라는 것을 알 수 있습니다. 그 사실은 꽤 안전합니다. 왜냐하면 타입 안정 함수는 항상 타입을 알고 있지만 반드시 값은 아닐 것이기 때문입니다. 'Void'는 다르지만 –
이 방법이 좋다고 확신합니다. 그러나 선호하는 방법은 무엇이 었는지, 선호하는 방법은 일반적으로 (항상 그런 것은 아니지만) 두 개의 분리 된 메소드'f (x)'와' f (x, y)'. 특히 그것이 코드를 더 깨끗하게 만드는 경우. – DNF