질문과 답변

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 13184
RMXP 8방향 대각선 모션 넣는방법이 궁금합니다. 2 file 스페이스덕 2014.01.18 1148
RM2k RPG2000 그림 추가 후 문제가 생겼습니다. 9 file regidia89 2014.01.17 1426
RMVXA 스킬 데미지 방식에 변수를 설정하는법좀 알려주세요. 5 메이133 2014.01.17 915
RMXP 맵칩을 통맵으로 만들때, 5 내손목아지 2014.01.17 1181
RMVXA vxa 폰트변경 4 파닥이 2014.01.17 1602
RMVXA ACE에서 동영상 인코딩 설정법에서 헤메고 있습니다 ㅜㅜ 2 우월감 2014.01.17 889
RMVX 픽쳐맵? 포토샵등으로 수정한 맵 적용법 20 하얀악어 2014.01.17 853
RMVXA 오프닝 삽입시에 오프닝 ON/OFF변수는 어떻게 하나요? 2 메이133 2014.01.17 805
RMVX 폰트 적용은 어떻게 적용이 되는건가요? 9 하얀악어 2014.01.17 1239
RMXP 암호화를 하니 페이스칩이 보이지 않습니다! 7 file 이룩 2014.01.16 1068
RMVX 선택지가 두번뜹니다. 4 nanamun 2014.01.16 795
RMVXA VXA에 사용할 대형 캐릭칩을 만들었지만 적용시 사이즈가 안맞네요 8 file 오렌지캬라멜 2014.01.16 1469
RMXP 턴알 전투배경을 바꾸고싶어요 6 file 이룩 2014.01.16 1144
RMVXA vxa에서 장신구를 2개 착용할 순 없나요? 6 시캐 2014.01.16 921
RMVXA 샘플맵 파일이 존재하는데도 샘플맵이 안 떠요. 6 시대의방랑자 2014.01.15 1080
RMVXA 스크립트에서 alias의 기능 8 돌치나 2014.01.15 717
RMXP 요리 시스템 스크립트를 찾았는데 이게무슨 뜻인가요? 2 나랑관계없다 2014.01.15 986
기타 아방스 자료실의 VX, VXA 다운로드가 안되는데 저뿐인가요? 2 file 오렌지캬라멜 2014.01.15 938
RMVXA 게임 프로젝트 파일의 확장자 2 파닥이 2014.01.15 1017
RMVXA [rpg vx ace] 선택지 글씨 크기 늘리기 질문 4 조각조각 2014.01.15 2124
Board Pagination Prev 1 ... 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 ... 517 Next
/ 517