[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:02006] Re: mhc2palm でのコメントの変換



  Message-Id: <20050111.155532.226759594.koie@xxxxxxxxxxxxxxxxx>
  Date:       Tue, 11 Jan 2005 15:55:32 +0900 (JST)
  From:       KOIE Hidetaka (鯉江英隆) <hide@xxxxxxxx>
  Subject:    [mhc:02005] Re: mhc2palm でのコメントの変換

  | そのほかconv_noteで気になったことなのですが
  |     if !(part1 =~ /^[ \t]+/ or part1 =~ /^[A-Za-z0-9_-]+:/)
  |       part1_is_header = false
  |     end
  | 
  |     part1 .split("\n") .each{|line|
  |       if !(string =~ /^[ \t]+/ or string =~ /^[A-Za-z0-9_-]+:/)
  |         part1_is_header = false
  |       end
  |     }
  | のところで後半のイテレータの line が使われていないのと、
  | 仮にstringがlineの間違いだとしても前半との違いがよくわかりません。
  | 前半のif節だけでよく後半のeachは不要そうに感じるのですが。

考え違いをしました。後半だけでよさそうです。

Index: mhc-palm.rb
===================================================================
RCS file: /cvsroot/mhc/ruby-ext/lib/mhc-palm.rb,v
retrieving revision 1.11
diff -u -r1.11 mhc-palm.rb
--- mhc-palm.rb	22 Jun 2004 10:09:15 -0000	1.11
+++ mhc-palm.rb	11 Jan 2005 10:29:36 -0000
@@ -664,13 +674,10 @@
 
     part1, part2 = string .split("\n\n", 2)
 
-    if !(part1 =~ /^[ \t]+/ or part1 =~ /^[A-Za-z0-9_-]+:/)
-      part1_is_header = false
-    end
-
     part1 .split("\n") .each{|line|
-      if !(string =~ /^[ \t]+/ or string =~ /^[A-Za-z0-9_-]+:/)
-	part1_is_header = false
+      if !(line =~ /^([ \t]|[A-Za-z][A-Za-z0-9_-]*:)/)
+        part1_is_header = false
+	break
       end
     }
 

#rubyのRegexにunmatchがあればイテレータが不要になるんですが..

--
鯉江英隆 <hide@xxxxxxxx>