질문과 답변

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 12392
RMVXA 이벤트 커맨드 스크립트 질문이요.. 3 비바체 2014.01.10 768
RMVXA 메뉴의 '아이템'을 바꿀수 있는 방법이 있나요 4 전파개구리 2014.01.10 761
RMVXA 어떤 이벤트를 이용할수록 필요한 돈이 증가되게 하는법 4 쿨쿨팬더 2014.01.10 793
RMVXA 열쇠를사용하여여수있는문은어케만드나요? (RPG VX Ace) 2 qpalzm104 2014.01.11 1188
RMVXA 캐릭터 제자리걸음 방법 2 file 크리스토퍼 2014.01.11 983
RMVXA 쯔꾸르창이 전체화면으로 됩니다... 4 마맨 2014.01.11 29545
RMVXA 새로운게임시작하자마자 4 쿠네쿠네 2014.01.12 979
RMVXA esc 키를 눌렀을때 메뉴 말고 다른게 뜨게 하는 방법? 5 file sudoxe 2014.01.13 1224
RMVXA 파티내의 맴버중에 이벤트에 가담할 맴버를 바꾸는건 어찌해야할까요? 1 메이133 2014.01.13 830
RMVXA 함께 이동중인 파티 맴버끼리 잡담을 나누게 하려면? 1 메이133 2014.01.13 900
RMVXA 이동제한 스크립트 어떻게 사용해야할까요? 4 file 꺼믄고양이 2014.01.13 923
RMVXA 쓰고있는 데이터만 압축시킬수는 없나요? 5 Otte 2014.01.13 731
RMVXA [rpg vx ace]선택지에 대해 질문입니다ㅜㅜ 2 file 조각조각 2014.01.13 1137
RMVXA 맵칩을 가지고 있는데 편집을 11 file 크리스토퍼 2014.01.14 1568
RMVXA [rpg vx ace]선택지 위치 조정하는 법좀요.... 2 조각조각 2014.01.14 1604
RMVXA VXA BattleStatus 스크립트 질문드려요. 4 file 카니에 2014.01.14 878
RMVXA [rpg vx ace] 선택지 글씨 크기 늘리기 질문 4 조각조각 2014.01.15 2078
RMVXA 게임 프로젝트 파일의 확장자 2 파닥이 2014.01.15 1014
RMVXA 스크립트에서 alias의 기능 8 돌치나 2014.01.15 716
RMVXA 샘플맵 파일이 존재하는데도 샘플맵이 안 떠요. 6 시대의방랑자 2014.01.15 1073
Board Pagination Prev 1 ... 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 149 Next
/ 149