Kansai.pm 第6回Perlベストプラクティス勉強会

Kansai.pm 第6回Perlベストプラクティス勉強会が2007年07月12日(木)に行われました.今回は新たな参加者1名を含む,6名の参加です.今回はP.114「6.8 配列のインデックス」〜P.133「6.18 do-whileループ」まででした

次回は7月19日(木)にlapis25の勤めている会社で開催予定ですが,まだ決定していません.改めてKansai.pmのサイトとMLで告知します

Perlベストプラクティス

Perlベストプラクティス

以下,勉強会のメモ
今回は議論が先に進みすぎて,うまくメモ・吸収できなかった

「6.8 反復子変数」〜「6.14 リスト処理の副作用」

  • ちょっと単位が長すぎた
  • 6.8 反復子変数
    • $_に頼らない
  • 6.9 非レキシカルループ反復子
    • ループのスコープ内に反復子変数として,新しいレキシカル変数が宣言される
      • エラーの隠蔽に繋がる
      • エラーを覆い隠さないための習慣

6.10 リストの生成
6.11 リスト選択
6.12 リスト変換

  • for, map, grep, first(List::util)を的確に使う
    • map: データ変換
    • grep, first: 検索
    • for: その場でリストを変換

6.13 複雑なマッピング

  • サブルーチン呼び出しへのファクタリング

6.14 リスト処理の副作用

  • リスト関数で$_を変更しない
  • map, grep, firstは$_を元のリストのエイリアスにする(コピーではない)
  • Perlの機転の良さは10点満点だが,保守性に関してはマイナス数百万点

6.15 マルチパート選択
6.16 値の交換

  • ifを重ねるのはパフォーマンスも悪い
    • 平均で条件の1/2を必ず評価するから
  • テーブル参照

6.17 表形式の3項演算子

  • ifの連鎖より,表形式の3項演算子
    • デフォルトを指定するためのelseの忘れを防ぐ

6.18 do-whileループ

  • まぁ,使わないよね
  • ポストフィクスが変更されたdoブロックでしかない→なのでラベルを無視する

型グロブ

aliasがらみで型グロブの話が出てきた.言及していたというのはこのあたりかな