질문과 답변

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 스크립트에서 저장부분을 불러오기로 고치고 싶습니다 4 타이타르 2014.07.27 689
RMXP 스크립트에서 이벤트의 좌표 구하는 방법... 4 톰윙필드 2010.11.24 773
RMXP 스크립트에서 스위치를 on시키는 명령어가 뭐지요? 알중: 2016.08.23 92
RMXP 스크립트에서 super의 위치 설정을 정수가아닌 다른... 코스튬 2010.09.11 1716
RMXP 스크립트에서 Fixnum 형태를 String 형태로 바꾸는 방법 1 겨울별 2012.12.05 703
RMVX 스크립트에서 cache 75line에 오류가 뜹니다 1 아브렐라 2012.12.15 651
RMVXA 스크립트에서 alias의 기능 8 돌치나 2014.01.15 716
RMVXA 스크립트에서 %s 이 뭔가요? 1 학또 2013.07.03 678
기타 스크립트에대해서 궁금합니다 3 아쳐 2015.08.06 154
에러 해결 RMMV 스크립트에 한글 넣으면 띄어쓰기 인식이 안됩니다. 나메크성인 2022.12.13 59
기타 스크립트에 이름을 넣고 싶어요 4 file 가탁크 2014.06.13 697
RMVX 스크립트에 산출된 수치를 변수로 옮기는 법이 잇나요? 3 은둔자 2010.12.27 545
RMXP 스크립트에 대해서 1 마린레이 2011.09.25 1634
RMXP 스크립트에 대해 잘 아시는분만 눌러주세요 4 물콩?! 2011.05.20 1152
RMVX 스크립트에 대해 간략히 정리된 강좌 있을까요? 3 천공의계시 2011.07.28 1261
RMXP 스크립트에 대한 사소한 질문 6 박권도 2012.01.26 2111
RMVX 스크립트안돼요 1 file 어두운메이커 2011.02.09 723
RMVXA 스크립트상에서 변수를 호출하는 것도 각 줄마다 한계가 있나요? 1 file revolutia 2016.06.16 100
RMVXA 스크립트를 통해서 장비를 변경 시키는 법을 알려주세요. 2 킴마유 2013.05.14 913
RMVXA 스크립트를 찾습니다. 3 file 깡쨩 2015.03.30 351
Board Pagination Prev 1 ... 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 ... 516 Next
/ 516