📝
plantFEM/std/StringClass.f90
StringClass
(自動生成につき要編集)
モジュール: このモジュールは可変長の文字列操作のためのラッパー型 string_
と、関連する演算子・手続きを提供します。Fortran標準のcharacter
型を拡張して、文字列結合、変換、検索などの操作をオブジェクト指向的に扱えるようにします。
使用モジュール
-
iso_fortran_env
:ポータブルな整数型(例:int32
)のために使用。
パラメータ定数
-
ascii
→selected_char_kind('ASCII')
により ASCII 文字種を定義。
型定義
type :: string_
可変長文字列を格納する基本型。
メンバ変数
-
character(len=:), allocatable :: all
→ 実際の文字列内容(可変長)。
パブリック手続き(バインド)
-
char
→charString
→ 文字列の取得(同義:str
) -
str
→charString
→char
の別名(同一手続き) -
print
→printString
→ 内容の標準出力への表示 -
lower
→lowerString
→ 小文字化 -
upper
→upperString
→ 大文字化
インタフェース定義
interface replace
-
replaceChar
→ 文字列中の部分文字列の置換
interface operator(+)
文字列結合を行う加算演算子 +
をオーバーロード。
-
addstring
:string_ + string_
-
addstringchar
:string_ + character
-
addcharstring
:character + string_
-
addCharChar
:character + character
(必要に応じて)
interface assignment(=)
代入演算子 =
をオーバーロード。
-
assignstring
:string_
への文字列代入
interface print
文字列の出力用手続き。
-
printString
:単一のstring_
型出力 -
printStringVec
:string_
型の1次元配列出力 -
printStringArray
:string_
型の多次元配列出力
interface operator(.in.)
-
in_detect_char
→substring .in. string_
のような形で部分文字列の包含関係を判定する。
概要
このモジュールは、Fortranにおける文字列処理の利便性を高めるために、以下を提供します:
-
string_
型によるオブジェクト指向的な文字列管理 - 直感的な文字列操作演算子(例:
+
,.in.
) - 文字列の変換(小文字化・大文字化)
- 検索・置換・出力
Fortranの標準的な文字列操作に対する柔軟で拡張性のある代替手段として設計されています。
Discussion