배열 길이를 쓰지 않고 배열에서 아무 원소나 뽑아낼 수 있을까요
조회수 1006회
배열에서 아무 원소나 뽑아내려면 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)]
이렇게 쓰고 있는데 좀 더 직관적인 코드를 쓸 순 없는지 찾고싶습니다.
1 답변
-
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
라는 이름으로 잠시 있었지만 버전 호환상 쓰는걸 권장하진 않습니다
댓글 입력