배열 길이를 쓰지 않고 배열에서 아무 원소나 뽑아낼 수 있을까요


배열에서 아무 원소나 뽑아내려면 random을 어떻게 돌리나요?

myarr = [1,6,43,82,3,68,9,2,1]

같은 숫자가 저장되있고 이 myarr에서 아무 숫자나 뽑아내려고 합니다. 저는 지금 배열 길이를 써서

소스코드

myarr = [1,6,43,82,3,68,9,2,1]
item = myarr[rand(myarray.length)]

이렇게 쓰고 있는데 좀 더 직관적인 코드를 쓸 순 없는지 찾고싶습니다.

  • 2016년 02월 23일에 작성됨

조회수 100


1 답변


좋아요
0
싫어요
채택취소하기

Ruby 1.9.1이상에서는 Array#sample이 있습니다.

puts [1,6,43,82,3,68,9,2,1].sample

그 미만이라면

"backports/1.9.1/array/sample".

가 추가로 필요합니다.

또, 버전 1.8.7에서는 choice라는 이름으로 잠시 있었지만 버전 호환상 쓰는걸 권장하진 않습니다

  • 2016년 02월 23일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close