ささだです.

 以下のように,-v や -w 付きの ruby で erb を require すると,"coding:
..." の場所が違うよ,という警告が出ます.

$ cat test.rb
require 'erb'

$ /tmp/trunk/bin/ruby -v test.rb
ruby 1.9.2dev (2009-02-05 trunk 22076) [x86_64-linux]
test.rb:1: warning: encoding 'UTF-8' is ignored, valid only in the first
line except for shebang line.
test.rb:1: warning: encoding 'Big5' is ignored, valid only in the first
line except for shebang line.

 これは,2つの問題があるかと思います.

(1) erb の説明のコメントに反応して警告をしている

 ちょっと見てみると,68 行目にコメント中のサンプルコードとして

#   # -*- coding: UTF-8 -*-

という行が,72 行目に

#   <%#-*- coding: Big5 -*-%>

という行があります.これに対しての警告じゃないかと思います.ちょっとやり
すぎ?


(2) require している行の警告として出ている

test.rb:1: warning: encoding 'UTF-8' is ignored, valid only in the first
line except for shebang line.

と,require している行が警告行として表示されています.多分,erb.rb:68 と
かと表示してくれたほうがいいと思います.



 (1) はどうかな,と思います.(2) は,直したほうがいいんではないかと思い
ます.

# (1) の ad-hoc な解決策として,=begin/=end で囲ってしまうってのが
# あるようです.

-- 
// SASADA Koichi at atdot dot net