基礎プログラミング II 第 10 回 (CGI ことおぼえ) 「空欄の場合」 講義ノート目次

入力が空欄の場合は、transaction で中止する部分を作ることができる。 また、すでにある空欄を管理者ページで使った技術を応用して作ることができる。

空欄を記録させたくないとき

入力させるプログラムでデータベース変数.abort が使える。


db.transaction do
  for time in db.roots.sort  #  コメントの時間順で並べ替えた配列を順に見る
    if db[time][1] != nil
      printf("
  • %s さん: %s
  • \n", db[time][0], db[time][1].chomp) else db.abort end end end

    空欄を削除する部分をつくるとき

    入力させるプログラムで空白がある場合、db[key] にしまわれている形を考える。 この場合、2 要素の配列であるから、 例えば以下のようにしてデータから除去することができる。

    
    db.transaction do
    
      for time in db.roots
        if db[time] == ["",""]
          db.delete(time)
        end
      end
    
    end