----Next_Part(Sat_Mar_20_00:23:59_1999_809)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit ÅÚ´ô¤Ç¤¹¡£ From: Masatoshi SEKI <m_seki / mva.biglobe.ne.jp> Subject: [ruby-list:13000] Tiny eRuby Date: Thu, 18 Mar 1999 23:44:27 +0900 > ³±¤È¤¤¤¤¤Þ¤¹¡£ > > ruby-dev ¤ÎÊý¤Ç°ì»þ´üÏÃÂê¤Ë¤Ê¤Ã¤Æ¤¤¤¿ eRuby ¤ò¼ÂÁõ¤·¤Æ¤ß¤Þ¤·¤¿¡£ > ...(ά)... > HTML¤Îʸ äÄ귿ʸ¤ÎºîÀ®¤Ê¤É¤ËÊØÍø¤ ¤Ç¤¹¡£ > ¤ªÌܱø¤·¤Ë¤É¤¦¤¾¡£ ¤Ê¤«¤Ê¤«¤ª¤â¤·¤í¤Ç¤¹¤Í¡£ruby-dev ¤ò¤Á¤ç¤Ã¤È¤Î¤¾¤¤¤Æ¤ß¤¿¤é¡¢¤â¤È¤â ¤È¤Ï HTML ¤ËËä¤á¹þ¤àÍÑÅÓ¤òÁÛÄꤷ¤Æ¤¤¤¿¤ß¤¿¤¤¤Ç¤¹¤±¤É¡¢¤³¤ì¤Ã¤ÆÂ¾¤Ë¤â¤¤ ¤í¤¤¤í»È¤¨¤Ç¤¹¤è¤Í¡£LaTeX ¤Îʸ ˥ơ¼¥Ö¥ë¥³¥Þ¥ó¥É¤òÀ¸À®¤¹¤¨Â Òõâù ¥¹¥¯¥ê¥×¥È¤òËä¤á¹þ¤ó¤À¤ê¤È¤«¡£ ¤Ç¡¢¤Á¤ç¤Ã¤È»È¤Ã¤Æ¤ß¤Æ¤¤¤¯¤Ä¤«µ¤¤Ë¤Ê¤ë¤È¤³¤í¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¾¯¤·¼ê¤ò²Ã¤¨ ¤Æ¤ß¤Þ¤·¤¿¡£Êѹ¹ÅÀ¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£ * ÆþÎϤò ARGV[0] ¤«¤é²¾ÁÛ¥Õ¥¡¥¤¥ë¤Î $< ¤ËÊѹ¹¤·¤Þ¤·¤¿¡£ ¤³¤ì¤Ç¤è¤ê¥Õ¥£¥ë¥¿¡¼¥³¥Þ¥ó¥É¤é¤·¤¤Æ°ºî¤Ë¤Ê¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£ * ÆþÎϤ¬¶õ¤Î¤È¤ IO#read ¤¬ nil ¤òÊÖ¤·¤Æ¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç¡¢ ¤³¤Î¾ì¹ç¤Ï¤¿¤À¤Á¤Ë »¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Þ¤·¤¿¡¨Â à¼ÃÍ] %>' ¥¿¥°¤Ï `print [ÃÍ]' ¤ËÃÖ´¹¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤À¤È ÃÍ¤Ë `( )' ¤ÎÉÕ¤¤¤¿¼°¤ò»È¤¦¤È print ¤¬ `( )' ¤È·ë¹ç¤·¤Æ¡¢Î㤨 ¤Ð `<% 1 + 2) * 3 %>' ¤¬ `print (1 + 2) * 3' ¤È¤Ê¤Ã¤Æ ~~~~~~~~~~~~~ ´üÂÔ¤·¤Æ¤¤¤¿¤Î¤È°Û¤Ê¤ëÃͤ¬¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹(¤È¤¤¤¦¤«¡¢¤³¤Î ¾ì¹ç¤Ï print ¤¬ nil ¤òÊÖ¤¹¤Î¤Ç¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦)¡£¤Ê¤Î¤Ç¡¢ Ãͤò³ç¸Ì¤Ç¤Ç³ç¤Ã¤Æ `<% ÃÍ] %>' ¤¬ `print ([ÃÍ])' ¤ËÃÖ´¹¤µ¤ì ¤ë¤è¤¦¤ËÊѹ¹¤·¤Þ¤·¤¿¡£ * ³Þ¸¶ ´ðÇ·¤µ¤ó¤Î getoptlong ¥é¥¤¥Ö¥é¥ê (http://www.sra.co.jp/people/m-kasahr/ruby/getoptlong/) ¤ò»È¤Ã¤Æ¤¤¤¯¤Ä¤«¥ª¥×¥·¥ç¥ó¤òÄɲ䷤Ƥߤޤ·¤¿¡£ -d, --debug ¥Ç¥Ð¥Ã¥°¥â¡¼¥É -r ¥é¥¤¥Ö¥é¥ê¤Î¥í¡¼¥É -v, --version ¥Ð¡¼¥¸¥ç¥ó¤Î -w ¾éĹ¥â¡¼¥É ¤³¤ì¤é¤Ï¤ï¤¿¤·¤¬¤¢¤Ã¤¿¤é¤¤¤¤¤Ê¤È»×¤Ã¤¿¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ ¥Ñ¥Ã¥Á¤òźÉÕ¤·¤È¤¤Þ¤¹¡£ ---------------------------------------------------------------------------- ÅÚ´ô ¿Î¸¬ ¿À¸ÍÂç³ØÊªÍý¹â¥¨¥Í¸¦ £Í£± URL: http://www3.phys.sci.kobe-u.ac.jp/~toki/index.html PGP fingerprint 0 A8 90 AB 73 F8 34 FE CE CA DB BF 01 30 C0 35 ----Next_Part(Sat_Mar_20_00:23:59_1999_809)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=erb.patch *** erb.rb 1999-03-19 14:48:56+09 1.1 --- erb.rb 1999-03-19 23:22:34+09 1.6 *************** *** 46,52 **** # print ¤ËÃÖ´¹ list print.gsub(list) { v print.matching_data[1].join ! ['<% ', "print #{v}", ' %>'] } end module_function :pre_compile --- 46,52 ---- # print ¤ËÃÖ´¹ list print.gsub(list) { v print.matching_data[1].join ! ['<% ', "print (#{v})", ' %>'] } end module_function :pre_compile *************** *** 118,137 **** if __FILE__ $0 ! if ARGV[0] '-x' ! output rue ! ARGV.shift ! end ! if ARGV[0] '-n' ! number rue ! ARGV.shift ! end ! f pen(ARGV[0]) ! src .read ! f.close erb Rb.new(src) ! if output ! if number l for line in erb.src puts "%3d %s"%[l, line] --- 118,152 ---- if __FILE__ $0 ! require "getoptlong" ! opt_parser etoptLong.new([ "-x", GetoptLong::NO_ARGUMENT ], ! [ "-n", GetoptLong::NO_ARGUMENT ], ! [ "-d", "--debug", GetoptLong::NO_ARGUMENT ], ! [ "-r", GetoptLong::REQUIRED_ARGUMENT ], ! [ "-v", "--version", GetoptLong::NO_ARGUMENT ], ! [ "-w", GetoptLong::NO_ARGUMENT ]) ! opt_parser.each_option do |name, arg| ! case name ! when "-x" # ruby source ! $output rue ! when "-n" # line number ! $number rue ! when "-w" # verbose ! $VERBOSE rue ! when "-v" # version ! STDERR.puts "erb 1.14 1999/03/16 16:49:42" ! exit ! when "-d" # debug ! $DEBUG rue ! when "-r" # require ! require arg ! end ! end ! src <.read ! exit unless src erb Rb.new(src) ! if $output ! if $number l for line in erb.src puts "%3d %s"%[l, line] ----Next_Part(Sat_Mar_20_00:23:59_1999_809)----