본문 바로가기

ActionScript/Tip

(은/는) (을/를) (이/가) 단어의 받침에 따른 말 자연스러운변화

출처 카페 > 플래시(Flash)로 생계를.. | 티바이트
http://cafe.naver.com/flashdev/26678

'a 가 b 를 먹었다'

라는 문장을 출력한다고 해 봅시다. a와 b는 변수입니다.

예를 들어,

'토끼호랑이를 먹었다'

와 같이 변수가 지정되면, 자연스러운 문장이 되지만,

'사람를 먹었다'

이렇게 변수가 들어가게 되면 부자연스럽습니다.

그래서 아래와 같이,

'사람(이)가 (을)를 먹었다'

표기할 수도 있지만, 여간 거추장스럽지 않습니다..

==========================================================================

var who = "사람";
var what = "곰";
function f(str:String, type:String):String
{
        var tmp = str.charCodeAt(str.length-1)-44032;
        if (type == '를') {
                if (tmp%28 == 0)  return str+'를' ;
                else return str+'을';
                
        }
        else if (type == '가') {
                if (tmp%28 == 0) return str+'가';
                else return str+'이'
                
        }
        else if (type == '은') {
                if (tmp%28 == 0) return str+'는';
                else return str+'은'
        }
}
trace(f(who, '가')+" "+f(what, '를')+" 먹었다");














































output : 사람이 곰을 먹었다











==========================================================================


var who = "토끼";
var what = "호랭이";
function f(str:String, type:String):String
{
        var tmp = str.charCodeAt(str.length-1)-44032;
        if (type == '를') {
                if (tmp%28 == 0)  return str+'를' ;
                else return str+'을';
                
        }
        else if (type == '가') {
                if (tmp%28 == 0) return str+'가';
                else return str+'이'
                
        }
        else if (type == '은') {
                if (tmp%28 == 0) return str+'는';
                else return str+'은'
        }
}
trace(f(who, '가')+" "+f(what, '를')+" 먹었다");


output : 토끼가 호랭이를 먹었다

==========================================================================

위와 같이 단어의 종성이 있는가 없는가를 알아내서 적용할 수 있습니다.