チケット #27750

strmatch はシステム変数が初期化されない。

登録: 2012-03-05 17:50 最終更新: 2012-03-08 21:42

報告者:
(匿名)
担当者:
(del#1144)
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

Tera Term Version 4.73 (SVN# 4845) を、Windows XP Professional Version 2002 SP3 で使用しています。 strmatch では、システム変数が初期化されていない様です。 例えば、次のマクロを実行してみると、messagebox の結果は、';' の右側に書いたとおりとなります。

string1 = 'Microsoft Windows XP [Version 5.1.2600]'
strmatch string1 '\[(Version (\d+).(\d+).(\d+))\]'

messagebox result 'result'                   ; 22
messagebox matchstr 'matchstr'               ; [Version 5.1.2600]
messagebox groupmatchstr1 'groupmatchstr1'   ; Version 5.1.2600
messagebox groupmatchstr2 'groupmatchstr2'   ; 5
messagebox groupmatchstr3 'groupmatchstr3'   ; 1
messagebox groupmatchstr4 'groupmatchstr4'   ; 2600


string2 = ''
strmatch string2 '\[(Version (\d+).(\d+).(\d+))\]'

messagebox result 'result'                   ; 0
messagebox matchstr 'matchstr'               ; [Version 5.1.2600]
messagebox groupmatchstr1 'groupmatchstr1'   ; Version 5.1.2600
messagebox groupmatchstr2 'groupmatchstr2'   ; 5
messagebox groupmatchstr3 'groupmatchstr3'   ; 1
messagebox groupmatchstr4 'groupmatchstr4'   ; 2600

チケットの履歴 (5 件中 3 件表示)

2012-03-05 17:50 更新者: None
  • 新しいチケット "strmatch はシステム変数が初期化されない。" が作成されました
2012-03-06 15:19 更新者: (del#1144)
  • 担当者(未割り当て) から maya に更新されました
  • マイルストーン(未割り当て) から Tera Term 4.74 (完了済み) に更新されました
コメント

マッチしなかったときはクリアしない実装になっています。マッチしたかどうか result で判定できますが、クリアされないと不都合がありますか?

Perl では同様の動作をします。

  1. #!/usr/bin/perl
  2. $str = "Microsoft Windows XP [Version 5.1.2600]";
  3. $str =~ /\[(Version (\d+).(\d+).(\d+))\]/;
  4. print "$1\n";
  5. print "$2\n";
  6. print "$3\n";
  7. print "$4\n";
  8. $str = "";
  9. $str =~ /\[(Version (\d+).(\d+).(\d+))\]/;
  10. print "$1\n";
  11. print "$2\n";
  12. print "$3\n";
  13. print "$4\n";
2012-03-06 23:45 更新者: (del#24082)
コメント

とりあえず、ドキュメントには注意事項を書いておきます。

2012-03-07 11:46 更新者: keishim
コメント

ご確認ありがとうございます。仕様とのことで理解しました。 また、ドキュメントへの注意書き対応助かります。ありがとうございます。 (自分のマクロロジックを見直すことで対応します)

2012-03-08 21:42 更新者: (del#1144)
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2012-03-08 21:42 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする