●jFileの不具合
当方で教材資料を提供している jFile for JWW がmswin32版ruby 1.8.5 を導入した場合の不具合について、牛渡さんが対応策を紹介してくれました。
牛渡さんのサイト
http://gravelroad.yh.land.to/
ruby 1.8.5 と jFile
http://gravelroad.yh.land.to/item/122
ruby 1.8.5 と jFile(2)
http://gravelroad.yh.land.to/item/123
指示通り修正してみた結果、問題なく動作を確認しました。
牛渡さん、ありがとうございます。
勉強の為、関連部分をそのまま引用掲載させて頂きます。
-----ここから引用-----
jFile1.rb の69行目を:
atime = fftime.split; atuki = atime[1]; ahi = atime[2]; anen = atime.last
に変更。同様に 97行目を
etime = ftime.split; tuki = etime[1]; hi = etime[2]; nen = etime.last
に変更すると、1.8.5 と 1.8.1 の両方で動作する
尚、上記の場合Time オブジェクトから to_s メソッドを使うと、また次の Ver.Up に対応できない可能性がありますので、いっそ、68~95行目までをコメントアウトして
afile = File.atime(file).strftime("%Y\/%m\/%d")
に変更、同じく、96~123行目をコメントアウトして
mfile = File.mtime(file).strftime("%Y\/%m\/%d")
とした方が良いようです。
付録)フォルダ選択で前回の設定値を記憶するスクリプト
selectdir.rb
# フォルダフルパス取得 外部変形Rubyスクリプト
require 'vr/vruby'
frm=VRLocalScreen.newform
def frm.construct
move 250,180,50,50
dirpath = selectDirectory(title="検索対象フォルダを選択して下さい。(ルートドライブ選択不可)",initialdir=read_profile).to_s
write_profile dirpath
print dirpath
end
def read_profile
if FileTest::exist?( "jFile.ini" )
ini = open( "jFile.ini", 'r' )
begin
while ini.gets
chomp!
if ~ /^Folder=(.*)$/
folder = $1
end
end
ensure
ini.close
end
end
folder
end
def write_profile( dirpath )
if dirpath != nil
ini = open( "jFile.ini", 'w' )
ini.print "[jFile]\n"
ini.print "Folder=" + dirpath + "\n"
end
end
frm.create.show
-----ここまで引用-----
ruby 1.8.5 の導入は、こちらから
mswin32版ruby 1.8.5 インストーラー付きパッケージ