질문과 답변

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 12393
RMVX tankentai sbs 배틀러 캐릭 관련 질문입니다. 3 file 톰소여동생 2012.05.29 1591
RMVXA VXA에서 자동전투에 대한 의문이 있습니다 3 간파더 2012.05.29 1761
RMXP 맵에서의 캐릭터 스프라이트 관련 질문 4 file Lighna 2012.05.28 2119
기타 장비 착용제한에 관한 질문입니다 zerlo 2012.05.28 1046
RMVX 어째서 장소이동이 안되는걸까요? 3 file 작약 2012.05.27 1880
RMVXA 대화 할때 글자가 출력되는 속도가 너무 빨라요. Shalon 2012.05.27 2458
RMVXA 변수 실시간으로 보여주는 창 띄우기..(스크립트) 1 Tattoo 2012.05.27 2639
RMVX 열심히 찍은 캐릭터칩이 앞 뒤 옆만 봅니다 4 file 작약 2012.05.27 2560
RMXP RPG를 컴퓨터 방과후로 만들어 받아온뒤 1 꾀쟁이제리 2012.05.26 1946
RMVXA VX 캐릭터들을 VX ACE에서 그냥 사용할 수 있나요? 2 Tattoo 2012.05.26 2544
RMXP rpgxp아오오니 오토타일과 장식품이 다 겹쳐져요;; 1 세종오니 2012.05.26 2090
RMVX vampyr SBABS-Requiem ABS 9 에러질문 4 Jung48 2012.05.25 1907
RM2k 액알 지뢰 설정.. 몹이 맞질 않네요; 8 file CJY 2012.05.25 1895
RMXP RMXP 배열 함수 관련 질문 2 Lighna 2012.05.24 1801
RMVX 타이머 작동 도중 시간 더하기 2 김기말 2012.05.23 2320
RMVX 처음 게임 시작하면 대사가 나오게하는법 2 표지훈마이크 2012.05.20 1811
RMXP 마우스스크립트좀 알려주세요 2 스팀팩 (gjs1105) 2012.05.20 2161
RMVXA 아오오니처럼 이름박스가 따로 뜨게 하는방법... 3 file Shalon 2012.05.20 3031
RMVX vx캐릭터칩 1 ㄹㅇㄴㄹㅇㄴㄹz 2012.05.19 2076
RMVX 타이머 일시정지후 재시작 + 타이머의 좌표설정 4 TheEK 2012.05.19 2452
Board Pagination Prev 1 ... 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 ... 516 Next
/ 516