질문과 답변

Extra Form

rgss스크립트 공부하는 초보입니다. 이리저리 스크립트 보면,

alias 라는 예약어(?)가 나오는 경우가 있는데

예를 들자면,

alias dash_refresh refresh
  def refresh
    dash_refresh
       if $game_party.actors.size != 0
      actor = $game_party.actors[0]
       if @dash_on and dash_graphic_exist?(actor)
        fileplus = "_dash"
      else
        fileplus = ""
      end
      @character_name = actor.character_name + fileplus
      @character_hue = actor.character_hue
    end
  end

 

이렇게  alias하고 어쩌고저쩌고 오는데,

이 기능이 무엇인지 알고싶습니다.

Comment '8'
  • profile
    Andromeda 2014.01.15 20:35
    2. 하나의 게시물에는 하나의 질문만 합니다.
  • ?
    돌치나 2014.01.15 20:40
    음....두개의 질문이라고 하기에는 애매한 점이 많아서 그렇게 올렸던 것인데,
    오해의 소지가 있을 법 했었군요
    수정하였습니다.
  • ?
    허걱 2014.01.15 21:21

    음...단순하게 생각하면 별명을 붙이는거라고 생각하면 쉬울듯 하네요.
    alias 별명 본명
    이런식으로 정의가 되는데...
    위와같은 경우는 def refresh에 의해 기존에 정의된 refresh 라는 메소드가 재정의되는거죠.
    그냥 할 경우 기존에 정의된 메소드를 부를 방법이 사라지게 됩니다. 그래서 기존 메소드에 별명을 붙여서 기존 메소드에 접근할 수 있는 방법을 만들어 둔거죠.

    alias 선언된 이후부터는 기존에 refresh는 dash_refresh 를 사용해야 접근할 수 있습니다.
    바로 아래에 재정의된 refresh가 본명을 먹어버렸으니 당연하게도 refresh를 호출하면 재정의된 부분으로 찾아가게 되겠죠? ^^;

  • ?
    돌치나 2014.01.15 22:05
    오오...친절한 답변 감사드립니다!
    이리저리 찾아봐도 이건 예약어이다. 이런 설명밖에 없어서 힘들었는데, 자세한 답변 덕분에 알게되었습니다.
    정말 감사드립니다!
  • profile
    Omegaroid 2014.01.15 22:59

    제 경우엔, 기존의 메소드가 가지고 있는 변수 정의나 기능같은 것들을 그대로 가지고서 거기에 몇가지를 더 추가하기만 해서 쓰고 싶을때 alias를 사용하고, 아예 기존에 있던 것들까지 포함해서 변경하고 뺄거 빼고 그래야 할 경우엔 alias를 쓰지 않고 메소드 자체를 새로 정의합니다. 그런식으로 용도 구분해서 쓰니 얼추 잘 들어맞더군요.

  • ?
    돌치나 2014.01.15 23:04
    오호...그렇군요. 설명 덕분에 더욱 이해가 잘되었습니다.
    정말 감사합니다!
    ailas를 어떨때 쓰는가도 고민했었는데 덕분에 잘 알게 되었네요ㅎㅎ
  • ?
    AltusZeon 2014.01.16 13:06

    흔히 F12 재시작을 할 때 튕기는 오류 또는 스크립트끼리 충돌하는 오류중 하나인
    stack level too deep 오류를 발생시키는 주 원인중에 하나이기도 합니다. (무한 루프 형성)
    메소드 내용에 한두줄 추가해야 되는 경우에는 굉장히 편리합니다만 위와같은 단점도 있기는 합니다.

    유사하지만 조금 다른 alias_method 도 있습니다.

  • ?
    돌치나 2014.01.16 19:09
    우와......미처 알지 못했을 부분까지 이렇게 알려주셔서 정말 감사합니다
    이 점은 알려주시지 못했으면 직접 부딪히지 않는 이상 몰랐을 것 같네요.
    감사드립니다!!

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12442
RMVXA 쯔꾸르창이 전체화면으로 됩니다... 4 마맨 2014.01.11 29564
RMVXA 요즘 혜성 같이 나타난 RPG VX ACE 치트오메틱에 대해서입니다. 1 g223k 2013.04.10 11970
RMVXA RPG VX ACE 에서 조작키 바꾸는 법 3 째워잉 2013.08.17 10838
RMVXA RPG VX ACE 윈도우 7유저의 한글 깨짐 현상. 3 kila233 2012.07.07 8629
RMVXA RPG만들기 VX ACE 이거에서 rgss3a파일 어떻게 열어요? 2 시에마 2013.07.28 7913
RMVXA 문장의 표시 '\v[n]'이 작동을 안합니다.. Tattoo 2012.04.18 7051
RMVXA 콤보 히트시 감탄사 표현 file winspec 2012.11.17 6664
RMVXA 한글/숫자 서로 다른 폰트로 설정 2 file 조말생 2012.04.20 6462
RMVXA VX ACE 런타임패키지 구하는법 1 라니팝BJ 2012.01.03 6442
RMVXA 배경음 설정할때 질문이요 1 AccelHacker 2016.04.08 6433
RMVXA 테스트맵을 실행시키면 dll오류가 뜨고 system32에 dll을 넣어도 안돼네요.. 3 훈봉이 2013.07.27 6220
RMVXA 제가 만든 게임을 다름사람이 할때... 4 푸른사신 2013.02.16 6190
RMVXA rb파일은 어떻게 쓰는 건가요? 2 엘 티그레 2012.01.08 6035
RMVXA 여기에 19금 게임 올려도 되나요? 8 GM캥거루 2014.07.07 5662
RMVXA 퀘스트 스크립트를 8 종목의 퀘스트로 개조하려고 합니다. 2 file 탐험가 2012.11.18 5306
RMVXA RPG VX ACE - 타이틀 화면과 게임오버 화면 바꾸기 6 sudoxe 2013.05.09 5021
RMVXA 파티에 관한 것인데요 2 너굴너굴 2012.11.17 4695
RMVXA 쯔꾸르 시리즈는 게임패드로 플레이하는것이 가능한가요? 2 누룽누룽 2013.06.16 4563
RMVXA RGSS3 player 작동 중지 쿠쿠밥솥 2013.03.23 4457
RMVXA 타입없는기술표시 avvxace 2012.02.05 4396
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 149 Next
/ 149