libsim Versione 7.2.0

◆ optionparser_add_rarray()

subroutine optionparser_add_rarray ( type(optionparser), intent(inout)  this,
character(len=*), intent(in)  short_opt,
character(len=*), intent(in)  long_opt,
type(arrayof_real), target  dest,
real, dimension(:), optional  default,
character(len=*), optional  help 
)

Add a new option with a real type array argument.

When parsing will be performed, if the requested option is encountered, its corresponding compulsory argument will be copied into the provided destination. The argument must be provided in the form of comma-separated list of values and is stored in an object of type arrayof_real (module array_utilities). An optional default value can be provided for the destination. Please use the generic optionparser_add method rather than this particular method.

Parametri
[in,out]thisoptionparser object
[in]short_optthe short option (may be empty)
[in]long_optthe long option (may be empty)
destthe destination of the option parse result
defaultthe default value to give to dest if option is not found
helpthe help message that will be formatted and pretty-printed on screen

Definizione alla linea 1265 del file optionparser_class.F90.

1266
1267! print description message
1268IF (ASSOCIATED(this%description_msg)) THEN
1269 WRITE(*,'()')
1270 WRITE(*,'(A)')'### Description'
1271 help_line = line_split_new(cstr_to_fchar(this%description_msg), ncols)
1272 DO j = 1, line_split_get_nlines(help_line)
1273 WRITE(*,'(A)')trim(line_split_get_line(help_line,j))
1274 ENDDO
1275 CALL delete(help_line)
1276
1277ENDIF
1278
1279WRITE(*,'(/,A)')'### Options'
1280
1281DO i = 1, this%options%arraysize ! loop over options
1282 CALL option_format_md(this%options%array(i), ncols)
1283ENDDO
1284
1285CONTAINS
1286
1287FUNCTION mdquote_usage_msg(usage_msg)
1288CHARACTER(len=*),INTENT(in) :: usage_msg
1289
1290CHARACTER(len=LEN(usage_msg)+2) :: mdquote_usage_msg
1291INTEGER :: colon
1292
1293colon = index(usage_msg, ':') ! typically 'Usage: cp [options] origin destination'
1294IF (colon > 0 .AND. colon < len(usage_msg)-1) THEN
1295 mdquote_usage_msg = usage_msg(:colon+1)//'`'//usage_msg(colon+2:)//'`'
1296ELSE
1297 mdquote_usage_msg = usage_msg
1298ENDIF
1299
Index method.

Generated with Doxygen.