NScripter Ver.18.00at GAMEDEVNScripter Ver.18.00 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト293:名前は開発中のものです。 11/11/03 09:44:21.23 I5e3eJcR -- 3.の分離禁則を実現するルーチン -- チェック1:頭から舐めていって、分離禁則文字が見つかったら、チェック2を開始する。 -- チェック2:次の文字からチェックしていく。分離禁則文字が連続する限り、それをチェック1の文字の末尾につけていく。 local cursor = 1 -- さっきも作ったから、localは要らないかも。 local letter1 local letter2 function is_no_purge(letter) -- 文字を与えると、それが分離禁則文字かどうかを返す関数 if letter:len()>1 then return false end -- 半角文字でなければ分離禁則文字ではない。 if letter == " " then return false end -- 半角スペースは分離禁則文字ではない。 return true end while cursor < #letters do letter1 = letters[cursor] -- チェック1 if is_no_purge(letter1) then -- 分離禁則文字であればチェック2開始 while true do letter2 = letters[cursor+1] if type(letter2)=="nil" then break end -- 終了条件 if is_no_purge(letter2) then letter1 = letter1 .. letter2 -- 結合 table.remove(letters, cursor+1) -- 結合した文字を削除 else break -- 終了 end end end lettes[cursor] = letter1 -- 再登録。 cursor = cursor + 1 end 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch