03.改行されていると外部変数が正しく読み込まれない | デザインってオモシロイ -MdN Design Interactive-

03.改行されていると外部変数が正しく読み込まれない

2024.4.20 SAT

【サイトリニューアル!】新サイトはこちらMdNについて




Flash

改行されていると外部変数が正しく読み込まれない

>> 改行コードを解析してデータを編集する


LoadVarsクラスで読み込みできる外部ファイル内容は、基本的に改行してはいけないのだが、改行のあるテキストファイル【1】を読み込ませても、特に問題ないように見えるため問題が起きる【2】【3】。trace()でデータを直接見ると、値表示にすき間が空いており改行コードが含まれているのがわかる【4】。このままでは文章としてはともかく、数値として必要な値に問題が起こってしまうので、改行コードを削除しなければならない。

まずは、受け取った変数の値にsplit()を使い改行コードで分断する。その結果、配列に格納されるので、配列の内容をjoin()でつなごう。このとき、OSによって改行コードが違ってくるので気をつける。改行コードを「¥n」だけで判断するとWindows以外で問題になるため、先に「¥r」で分断・結合し、もう一度、今度は「¥n」で分断・結合する。結合においては、どちらも区切り文字を空「''」にして行うとよい【5】【6】。

改行している外部ファイルを読み込む場合は、onDataイベントハンドラを使用したほうが便利だが、数値などの値として必要なデータをいっぺんに取り込む場合には向かないので検討しよう。



【1】用意したテキストファイル。青い矢印が改行コード。3つの変数の中央が数値



【2】読み込まれた変数をそのままテキストフィールドに入力。数値のところはわざと数値+5を行っている



【3】変数の値としては問題なくテキストフィールドに代入される



【4】trace()すると、テキストファイルと同じ改行になっている。また、Number()でも数値にならず、加算されない



【5】改行コードを削除する関数。二度似た処理をして機種依存をなくす



【6】【4】と同様にtrace()してみる。今度は加算も問題なく動作。ただし、2行に分かれていた文章が1行になってしまうので注意
twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在