• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

Title

« 時間がないのではない。やる気がないのである。 | 天才と呼ばれる者がいるとしたら、それは音楽の中にのみ存在する »
  • おいしい料理を評することほど愚かなことはない 2006-12-20 00:00:00

     ユルさんがまだ仕事から帰ってきていなかったので、kaeruspoonkaeruspoonをいじくって待つことにしました。とても寒くてエアコンが追いつかない中、キーボードを叩きます。今回はkaeruspoonの独自記法に関する機能の実装。最初はcontrollerにコードを書いていたのだけど、おかしいことに気づいてhelper上でメソッドを作りました。preタグの扱いにちょっと考えたけど、とりあえず勢いで以下のように実装です。

      def view_text(text)
        text_list = Array.new
    
        pos = 0
        while start_pos = text.index(start_mark, pos)
          if start_pos != pos
            text_list << {:name => "text", :start => pos, :end => start_pos -1}
          end
    
          end_pos = text.index(end_mark, start_pos)
          if end_pos
            text_list << {:name => "pre", :start => start_pos, :end => end_pos}
            pos = end_pos + end_mark.length
          else
            text_list.pop
            text_list << {:name => "text", :start => pos, :end => -1}
            pos = -1
          end
        end
    
        if text_list.empty?
          text_list << {:name => "text", :start => 0, :end => -1}
        else
          if (pos != -1) && (text.index(start_mark, pos) == nil)
            text_list << {:name => "text", :start => pos, :end => -1}
          end
        end
    
        html = ''
        text_list.each do |part|
          if part[:name] == "text"
            part_text = text[part[:start]..part[:end]].strip
            part_text = exchange_http(part_text)
            part_text = exchange_strong(part_text)
            part_text = part_text.gsub("\n", "<br/>")
            html <<  '<p>' + part_text + '</p>'
          else
            part_text = text[(part[:start] + start_mark.length)..(part[:end] - 1)]
            part_text = h(part_text)
            html << '<pre>' + part_text + '</pre>'
          end
        end
    
        return html
      end
    

    start_mark, end_markに関しては実際はメソッド内で定義しているのだけど、ここでは省略しています。
     リファクタリングはまだしてません。もっと全然スマートにできそうですが、その前に掲示板機能を作っちゃおうと思います。リファクタリングは最後回しです。サンデープログラマですね。TDDも全然やってないし。いけませんいけません。

     ユルさんがシチューを作ってくれました。のんびりした夜を過ごしています。

    Commentコメント(0) Pageリンク元(12) Append 3
  • しゅごキャラ! (1) (講談社コミックスなかよし (1113巻))
    メディア: コミック
    アフロ軍曹
    作者/アーティスト: ダンス☆マン,ダンス☆マン
    メディア: CD
« 時間がないのではない。やる気がないのである。 | 天才と呼ばれる者がいるとしたら、それは音楽の中にのみ存在する »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.ubuntu8.04でデュアルディスプレイを使う
  • 6.restful_authenticationを使ってみた
  • 7.URLなど、長い英字を折り返して表示する方法
  • 8.Rspecでコントローラのspecファイルを書く
  • 9.RailsとPostfixで受信メールを処理する方法
  • 10.フラグメントキャッシュをRailsで使う。

コメント

  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)
  • ユル(バイクがへたくそになっていた)
  • おおいしつかさ(便利になって不便になる)
  • 武石(便利になって不便になる)
  • ユル(劇場版 天元突破グレンラガン)
  • ユル(フラニーとゾーイー (新潮文庫): サリンジャー, 野崎 孝: 本)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月

キーワード一覧

ActionScript AmazonResources git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画