질문과 답변

Extra Form


a = []

 

a = [ @b=1,@c=1,@d=1,@e=1,@f=1]


이 함수를
 

a = [c=1,@d=1,@e=1,@f=1]

 

이 이렇게 바로 바꿀 수 있는 명령어가 있나요?



Who's Lighna

profile

스트레스 받는다.

Comment '2'
  • profile
    습작 2012.05.24 15:49
    배열에서 단순히 맨 첫번째 원소를 제거하는 것이라면 .shift 를 사용하면 됩니다.

    a.shift 

    하면 첫번째 원소값이 배열에서 제거될 테니 원하시는 모습이 나올 겁니다.


    a[0] = nil # 0번 인덱스에 nil 값을 대입

    a.compact! # 배열에서 nil값을 제거

    물론 이래도 되겠고,

    a.delete_at(0) # 0번 인덱스에서 원소를 제거


    이래도 되겠지요.

     


    하지만 원하신 것이 배열에서 첫번째 원소를 지우는 것이 아니라 @b값을 찾아서 지우는 것이면 조금 다릅니다.

    배열에서 특정 값을 찾아 지우는 것은 .delete() 이긴 합니다만, 이거 쓰면 같은 값이 다 날아가기 때문입니다.
    이 경우는 배열을 해시 처럼 쓸경우 생기는 문제입니다.
    배열에는 키값이 존재하지 않기 때문이지요.

    a = [ @b=1,@c=1,@d=1,@e=1,@f=1]

    라는 리스트는 

    a = [@b,@c,@d,@e,@f]

    가 아니라

    a = [1,1,1,1,1]

    이 되니까,

    a .delete(@b)

    해버리면

    a  == []

    이렇게 되어버릴 겁니다.

    반면, 해시를 사용하면 이런식이 되지요.

    a = { 'b' => 1, 'c'  =>  1, 'd'  =>  1, 'e'  =>  1, 'f'  =>  1}
    a .delete('b')

    a == { 'c'  =>  1, 'd'  =>  1, 'e'  =>  1, 'f'  =>  1} 


    지금 구현하시는 기능이 배열을 필요하시는 건지 해시를 필요 하시는 건지 잘 생각하시고 사용하시면 될 것 같습니다.^^


  • profile
    Lighna 2012.05.24 18:23
    궁금증이 한번에 해결됬네요, 감사합니다~~

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12398
RMVX 특정 스위치가 작동했을때 스크립트가 적용되게 하는방법 1 춰억헐릿 2012.05.15 866
RM2k 원거리 공격 질문; 2 file CJY 2012.05.16 1785
RMVXA 지붕칩셋을 받았는데... 4 file FreeRose 2012.05.17 2305
RMXP 여자 캐릭터 몸통 & 얼굴 & 캐릭터칩 1 August_Wish 2012.05.17 3396
RMVX 예전에 스크립트 게시판에 올라온 "AutoLight" 스크립트 3 TheEK 2012.05.17 1701
RMVX 말걸때마다 랜덤으로 다른대화가 뜨도록 3 춰억헐릿 2012.05.18 2251
RMVX 주인공이 기본공격으로 2타를 치도록 만들수 있나요/. 2 춰억헐릿 2012.05.18 2429
RMVX 메뉴 원래대로 돌리기 2 file 잡초더미 2012.05.18 2326
RM2k '구현되지않았습니다.'오류의 정확한 원인을 알고 싶습니다. Chrisyua E. 2012.05.18 3803
RMVX SBS 3.3b Demo (IAB v1.0)을 쓰고있는데 몬스터가 적용되지 않아요 1 file 짚신 2012.05.19 2287
RMXP RM XP 에서 전체화면 못하는 법? 3 incompr… 2012.05.19 2021
RMVXA 스위치랑 이벤트관련되서질문있어요. 2 gor 2012.05.19 2116
RMXP 플레이어만 밝게 하는법 1 호호호홍 2012.05.19 2396
RMVX 타이머 일시정지후 재시작 + 타이머의 좌표설정 4 TheEK 2012.05.19 2452
RMVX vx캐릭터칩 1 ㄹㅇㄴㄹㅇㄴㄹz 2012.05.19 2076
RMVXA 아오오니처럼 이름박스가 따로 뜨게 하는방법... 3 file Shalon 2012.05.20 3031
RMXP 마우스스크립트좀 알려주세요 2 스팀팩 (gjs1105) 2012.05.20 2161
RMVX 처음 게임 시작하면 대사가 나오게하는법 2 표지훈마이크 2012.05.20 1811
RMVX 타이머 작동 도중 시간 더하기 2 김기말 2012.05.23 2320
RMXP RMXP 배열 함수 관련 질문 2 Lighna 2012.05.24 1802
Board Pagination Prev 1 ... 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 ... 516 Next
/ 516