📝

plantFEM/std/StringClass.f90

に公開

モジュール: StringClass(自動生成につき要編集)

このモジュールは可変長の文字列操作のためのラッパー型 string_ と、関連する演算子・手続きを提供します。Fortran標準のcharacter型を拡張して、文字列結合、変換、検索などの操作をオブジェクト指向的に扱えるようにします。


使用モジュール

  • iso_fortran_env:ポータブルな整数型(例:int32)のために使用。

パラメータ定数

  • ascii
    selected_char_kind('ASCII') により ASCII 文字種を定義。

型定義

type :: string_

可変長文字列を格納する基本型。

メンバ変数

  • character(len=:), allocatable :: all
    → 実際の文字列内容(可変長)。

パブリック手続き(バインド)

  • charcharString
    → 文字列の取得(同義:str

  • strcharString
    char の別名(同一手続き)

  • printprintString
    → 内容の標準出力への表示

  • lowerlowerString
    → 小文字化

  • upperupperString
    → 大文字化


インタフェース定義

interface replace

  • replaceChar
    → 文字列中の部分文字列の置換

interface operator(+)

文字列結合を行う加算演算子 + をオーバーロード。

  • addstringstring_ + string_
  • addstringcharstring_ + character
  • addcharstringcharacter + string_
  • addCharCharcharacter + character(必要に応じて)

interface assignment(=)

代入演算子 = をオーバーロード。

  • assignstringstring_ への文字列代入

interface print

文字列の出力用手続き。

  • printString:単一の string_ 型出力
  • printStringVecstring_ 型の1次元配列出力
  • printStringArraystring_ 型の多次元配列出力

interface operator(.in.)

  • in_detect_char
    substring .in. string_ のような形で部分文字列の包含関係を判定する。

概要

このモジュールは、Fortranにおける文字列処理の利便性を高めるために、以下を提供します:

  • string_ 型によるオブジェクト指向的な文字列管理
  • 直感的な文字列操作演算子(例:+, .in.
  • 文字列の変換(小文字化・大文字化)
  • 検索・置換・出力

Fortranの標準的な文字列操作に対する柔軟で拡張性のある代替手段として設計されています。

Discussion