mrのなでしこ学習帳 RSSフィード

2008-11-09

なこちゅさんのコードを見て

はてなブックマーク - なこちゅさんのコードを見て - mrのなでしこ学習帳

http://nadesiko.g.hatena.ne.jp/nakochu/20081109

  • 代入の使い方が日本語的に美しい。見習いたい。
  • 変数名のつけ方も、分かりやすていいと思う。変に抽象化せず「東件数」とかいうような変数名にするのは、なでしこ的に、またピンポイントでのコーディングにおいて上手いやりかたと感じた。僕は結構すぐ変数名がこんがらがってしまう。
  • 件数を求めるのに、「○=○+1」とかせずに、表ピックアップ要素数で抽出する、フィルタ的アプローチが面白い。頭のなかでデータをどうイメージして処理するかの発想は人それぞれで、それをいかにのまま気持ちよくコードに乗せられるかが、プログラミング言語デザインの醍醐味でもあると思う。
  • ハッシュは使わず、表重複削除表列取得で、乗り物マスタを作るようなアプローチ。僕もライブではやろうと試みたが、表列取得とか思いつかずにひたすら反復するアプローチでやっていたら、頭がこんがらがってあえなくタイムオーバーになってしまった。データの扱いについて、こういう発想(RDB的?)から考えると、県マスタとか乗物マスタとか作って、JOINしてCOUNTしたくなる感じだが、DBのテーブルではなく、入力がテキストファイルから、という流れでは、ちゃちゃっとSQLiteに変換してSQLで料理するスキルもなく、全然書けなかった。

ライブコーディングの宿題

はてなブックマーク - ライブコーディングの宿題 - mrのなでしこ学習帳

書いた。

#テキストファイルを読む
入力データに「データセット.txt」を開く

#課題1:「東」のつく市町村名を数える
入力データの1から「東」を表ピックアップ
結果1=それ要素数
「課題1:{カッコ}東{カッコ閉じ}のつく市町村は、{結果1}つあります。」と表示。

#課題2:「津」のつく市を数える
入力データの1から「市$」を表正規表現ピックアップ
それの1から「津」を表ピックアップ
結果2=それ要素数
「課題2:{カッコ}津{カッコ閉じ}のつく市は、{結果2}つあります。」と表示。

#課題3:乗り物の数を府県ごとに数える
「課題3:【府】【県】グループについて、それぞれの乗り物の数」と表示

「    【府】」を表示
H=「」
入力データの0から「府$」を表正規表現ピックアップ
それ反復
  対象を「県,市,乗物」に変数分配
  H@乗物=H@乗物+1
結果3A=Hをハッシュ_配列変換
結果3Aを反復
  対象を「乗物,数」へ変数分配
  「      {乗り物}:{数}」を表示

「    【県】」を表示
H=「」
入力データの0から「県$」を表正規表現ピックアップ
それ反復
  対象を「県,市,乗物」に変数分配
  H@乗物=H@乗物+1
結果3B=Hをハッシュ_配列変換
結果3Bを反復
  対象を「乗物,数」へ変数分配
  「      {乗り物}:{数}」を表示

●表正規表現ピックアップ(AのIからSを)
  Rとは配列
  Aを反復
    X=対象を「,」で区切る
      X[I]をSで正規表現マッチ
      もしそれ≠「」ならば
        Rに対象配列追加
  それ=RをCSV取得ハッシュ_配列変換(Hを)
  Rとは配列
  Hを反復
    対象を「=」で区切る
    Rにそれ配列追加
  それ=R

#結果を保存
表示ログを「結果.txt」に保存

wikiにもアップした。

no title

表正規表現ピックアップ(手抜き)

はてなブックマーク - 表正規表現ピックアップ(手抜き) - mrのなでしこ学習帳

「表正規表現ピックアップ」関数を作ってみた

「-1」での全フィールドを対象にしたりはできません。

●表正規表現ピックアップ(AのIからSを)
  Rとは配列
  Aを反復
    X=対象を「,」で区切る
      X[I]をSで正規表現マッチ
      もしそれ≠「」ならば
        Rに対象配列追加
  それ=RをCSV取得

表正規表現ピックアップ

はてなブックマーク - 表正規表現ピックアップ - mrのなでしこ学習帳

「表正規表現ピックアップ」があったらいいなぁ。

ハッシュ

はてなブックマーク - ハッシュ - mrのなでしこ学習帳

no title

ここハッシュの説明を再読。

これは、型(決まり文句的な使いまわし)として覚えておくべき内容ですね。

nakochunakochu2008/11/14 01:07おこんです。
関数の使い方もイマイチわからないですし、ハッシュも理解しきってませんから…
代入&=の使い方でちょっと混乱するときがあります。
個人的には=を使うほうが、後から見たときにわかりやすくていいと感じてます。
1行で色々書きたいときに、=のタイミングが…ワカラナイだけでつw
人様と比べると、自分のソースは単純だなぁと^^;;
私もアップしなきゃですね。