2019年4月30日火曜日

2019/04/30(火) 休養

●To-Do項目を整理
続き。拾い損ねた項目を見つけて整理を進めた
・早めにどうにかしたいがそうサクサクと進むわけないことばかり
・まずは自宅に搬入した荷物を整理しないと……

2019/04/29(月) 休養

●To-Do項目を整理
・OneNote のあちこちに散らばっていたTo-Do項目をNami2000で整理した
・さらにこれから取捨選択したり優先順位をつけたりする必要があるがどうなるやら

2019/04/28(日) 休養

四半世紀ほどのあいだずっと自宅の守り神として置いていた立て看板を、とうとう燃えないゴミとして出した。

2019/04/27(土) ほとんど休養

お休みモード。少しだけ働いた。

●Javaプログラミング教科書
続き。昨日仕上げたつもりであった原稿PDF版を眺めていて5章のミスに気付いた
・修正して Wiki にアップロードしなおした

2019/04/26(金) Javaプログラミング教科書

●Javaプログラミング教科書
続き。12章までの索引付けおよび修正を仕上げた
・原稿PDF版および LaTeX ソースを Wiki にアップロードした
・出版社のYa氏にメールで連絡した。連休直前の夕方であったので連休明けまで気づかれないかもしれない

2019/04/25(木) Javaプログラミング教科書

●Javaプログラミング教科書
続き。7章までの索引付けおよび修正を仕上げた

2019/04/24(水) Javaプログラミング教科書

●Javaプログラミング教科書
続き。索引付けと修正を行った
・索引付け支援プログラムに次のクラスを追加した。Java の正規表現がらみのクラスが使いづらくてなんとかしたかったからであるが、大した改善にはなっていない
/**
 * 正規表現マッチングを支援するためのクラス。
 * JavaのPatternとかMatcherとかが使いづらいので作った。
 */
class PatternMatcher {
  private Pattern pattern;

  /**
   * コンストラクタ。
   *
   * @param regexp 正規表現パターン。
   */
  public PatternMatcher(String regexp) {
    pattern = Pattern.compile(regexp);
  }

  /**
   * 文字列が正規表現に合うかどうかを調べる。
   * 合うならStringの配列を返し、合わなければnullを返す。
   * 配列の0番目の要素はパターンに合った部分全体。
   * 1番目以降はパターン内の各グループに合った部分。
   *
   * @param s 対象文字列。
   * @return 配列もしくはnull。
   */
  public String[] match(String s) {
    Matcher matcher = pattern.matcher(s);
    if (matcher.matches()) {
      String[] groups = new String[matcher.groupCount() + 1];
      for (int i = 0; i < groups.length; i++) {
        groups[i] = matcher.group(i);
      }
      return groups;
    } else {
      return null;
    }
  }
}