但し、
class function Join(const Separator: string; const Values: IEnumerable): string; overload; static;
詳細はプログラム中のコメントに記述しました。
以下、プログラム
- program Project3;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils, System.Variants;
- var
- s : string;
- a,b : single;
- s1,S2: string;
- elm : TArray<string>;
- //sh : TStringHelper;
- begin
- try
- { TODO -oUser -cConsole メイン : ここにコードを記述してください }
- //sh : TStringHelper
- //オーバーロードの1つ目
- //オープン配列を使用した形です。
- writeln('overload1:オープン配列');
- s := s.Join(',',['ミリー','ハイネ']);
- write('OK:');
- writeln(s);
- writeln;
- s1 := '2.17'; s2 := '9.19';
- s := s.Join(',',[s1,s2]);
- write('OK:');
- writeln(s);
- writeln;
- //文字列以外の型だとうまく出力できないようです。
- //空文字が出力されます。
- a := 2.17; b := 9.19;
- s := s.Join(',',[a,b]);
- write('NG');
- writeln(s);
- writeln;
- //オーバーロードの2つ目
- //文字列配列の結合開始位置(0基数)と数を指定
- //この例では、ニーナ,ベルト・サタンと表示します。
- //文字列配列作成の為にとりあえず分割
- s := 'ドッペ,パックン,ニーナ,ベルト・サタン,キノッピー';
- elm := s.Split([',']);
- writeln('overload2:開始位置と数を指定');
- writeln('元の文字列配列');
- for s1 in elm do
- begin
- writeln(s1);
- end;
- writeln('0基数で2番目の文字列から2個の文字列を結合');
- s := s.Join(',',elm,2,2);
- writeln(s);
- writeln;
- readln;
- except
- on E: Exception do
- Writeln(E.ClassName, ': ', E.Message);
- end;
- end.
- </string>
実行結果は
です。
0 件のコメント:
コメントを投稿