old « オカムラのワーキングチェアBaron(バロン)を買った | メイン | 久里浜ペリー祭花火大会に行った » new

Ruby1.8から2.0系(1.9系)への移行で困ったこと

2013年07月13日

今までRuby1.8系で動かしていたcgiを、2.0系(多分1.9系でも同じ)に移行したときにつまづいたところをメモしておく。

■1.rubyファイルのパスに要注意
cgiファイルの置き場所(パス)に日本語(マルチバイト文字)を含む場合、WebrickのWebサーバーで何故か下記のエラーが出る。

incompatible character encodings: Windows-31J and ASCII-8BIT

解決策:cgiファイルの置き場所(パス)を日本語(マルチバイト文字)を含まないところに移動

■2.requireの書き方
今まで、下記のように書いていた部分が読み取られなくなった。

require "folder/filename"
解決策:先頭に"./"を付ける
require "./folder/filename"

■3.case文中のbreak
case文の中にbreakがあるとシンタックスエラーになるようになった。

case
when 条件文
処理
break
when 条件文
処理
break
end

解決策:breakを削除する。そもそもrubyのcase文にbreakはいらないみたい。

case
when 条件文
処理
when 条件文
処理
end

old « オカムラのワーキングチェアBaron(バロン)を買った | メイン | 久里浜ペリー祭花火大会に行った » new

トラックバックURL

このエントリーのトラックバックURL:
https://blog.hp-improve.com/mt/mt-tb.cgi/1334

コメントする