2009年10月12日

Rubyの勉強14完全脱線編(改行コードの落とし穴)

またしても進行中のプログラムから脱線してしまうんですが
前からちょっと気になってた事があったんで調べてみました。

たぶんこんな事で躓くのは初心者の自分くらいなのかもしれないですが
一応メモとして残しておきます。

気になったのはVRTextで複数行に渡るテキストエリアを作った時に
中に入れる文章に \n の改行を使っても実際には改行されてないという現象です。
(下のサンプルの@bun)
__________________________
#! ruby -Ks

require 'vr/vruby'
require 'vr/vrcontrol'

class KaigyouForm < VRForm

def initialize
@bun = "こんにちは\n
これからお話しすることは全て実話です\n
あれは数年前の夏の日のことでした\n
深夜に友人とラーメンを食べに行こうという話になり\n
車ででかけることになったのです。"
end

def construct
self.caption = 'kaigyou test.1'
@font =@screen.factory.newfont('MS Pゴシック', 12)
addControl(VRText, 'mes_area',"#{@bun}",10,10,200,100)
@mes_area.setFont(@font)
@mes_area.focus
end

end

VRLocalScreen.start(KaigyouForm,150,150,230,150)

__________________________

k_test1_s1.jpg
(改行されてません……)
そういうものなのか? とか諦め半分で納得しそうになってたんですが
やっぱりそれじゃいかんと思って調べました。

改行コードって2種類あるんですね。
いちおう詳細はコチラ←wikipediaにとびます。
ページの下のほうに「プログラミングにおける改行コード」として書かれてます。
知らなかった……orz

試してみると
テキストエリアは \r で改行できました。
下のサンプルは \r\n でやってみました。
__________________________
    @bun = "こんにちは\r\n
これからお話しすることは全て実話です\r\n
あれは数年前の夏の日のことでした\r\n
深夜に友人とラーメンを食べに行こうという話になり\r\n
車ででかけることになったのです。"

__________________________

k_test1_s2.jpg
(改行されました!)

今回もどこか間違ってたら暖かいツッコミをお願いいたします


posted by Hol_nice at 19:00| Comment(0) | TrackBack(0) | プログラム | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください

この記事へのトラックバック