lower Function

private elemental function lower(self)

Type Bound

string

Arguments

Type IntentOptional Attributes Name
class(string), intent(in) :: self

Return Value type(string)


Called by

proc~~lower~~CalledByGraph proc~lower string%lower proc~capitalize string%capitalize proc~capitalize->proc~lower proc~initialize~3 xml_writer_ascii_local%initialize proc~initialize~3->proc~lower proc~initialize~5 xml_writer_binary_local%initialize proc~initialize~5->proc~lower proc~snakecase string%snakecase proc~snakecase->proc~lower program~volatile_doctest~1454 volatile_doctest program~volatile_doctest~1454->proc~lower program~volatile_doctest~1726 volatile_doctest program~volatile_doctest~1726->proc~lower proc~camelcase string%camelcase proc~camelcase->proc~capitalize proc~startcase string%startcase proc~startcase->proc~capitalize program~volatile_doctest~1041 volatile_doctest program~volatile_doctest~1041->proc~snakecase program~volatile_doctest~1236 volatile_doctest program~volatile_doctest~1236->proc~capitalize program~volatile_doctest~682 volatile_doctest program~volatile_doctest~682->proc~capitalize program~volatile_doctest~893 volatile_doctest program~volatile_doctest~893->proc~snakecase program~volatile_doctest~1069 volatile_doctest program~volatile_doctest~1069->proc~startcase program~volatile_doctest~1146 volatile_doctest program~volatile_doctest~1146->proc~camelcase program~volatile_doctest~1262 volatile_doctest program~volatile_doctest~1262->proc~camelcase program~volatile_doctest~758 volatile_doctest program~volatile_doctest~758->proc~startcase

Source Code

   elemental function lower(self)
   !< Return a string with all lowercase characters.
   !<
   !<```fortran
   !< type(string) :: astring
   !< logical      :: test_passed(1)
   !< astring = 'Hello WorLD!'
   !< test_passed(1) = astring%lower()//''=='hello world!'
   !< print '(L1)', all(test_passed)
   !<```
   !=> T <<<
   class(string), intent(in) :: self  !< The string.
   type(string)              :: lower !< Upper case string.
   integer                   :: n1    !< Characters counter.
   integer                   :: n2    !< Characters counter.

   if (allocated(self%raw)) then
      lower = self
      do n1=1, len(self%raw)
         n2 = index(UPPER_ALPHABET, self%raw(n1:n1))
         if (n2>0) lower%raw(n1:n1) = LOWER_ALPHABET(n2:n2)
      enddo
   endif
   endfunction lower