문자열을 쓰는 루틴을 작성 중입니다. 어떤 인자가 있는지 확인하려면 해야합니까, 아니면 피할 수 있습니까?Fortran 선택적 인수
Subroutine writes &
( &
q1, q2, q3, q4 &
)
Character (len=*), Intent(in) :: q1
Character (len=*), Intent(in), Optional :: q2, q3, q4
Character (len=65) :: s, fmt
fmt = "(x,4(a,x))"
Write (s,fmt) Trim (q1), Trim (q2), Trim (q3), Trim (q4)
Write (*,*) Trim (s)
End Subroutine writes
답변을 안내하기 위해 어떤 점에서 현재 상태를 확인하지 못하는 이유는 무엇이라고 생각하십니까? 'trim'은 선택적 인자를 취하지 않지만, [이전 답] (http://stackoverflow.com/a/27343054/3157076)에서와 같이 많이 래핑 할 수 있습니다. – francescalus
래퍼가 도움이 될지 잘 모르겠습니다. 왜냐하면 새 함수를 정의하면 반환되는 문자열의 크기가 고정되어야하기 때문입니다. – Zeus
'문자 (len = :), allocatable :: result'? – francescalus