반응형
난수 목록을 생성하는 방법은 무엇입니까?
이것은 스칼라 질문 중 가장 덜 중요한 질문 일 수 있지만, 나를 괴롭 히고 있습니다. n 개의 난수 목록을 어떻게 생성합니까? 내가 지금까지 가지고있는 것 :
def n_rands(n : Int) = {
val r = new scala.util.Random
1 to n map { _ => r.nextInt(100) }
}
어느 것이 작동하지만 나에게는 그다지 비 대해 보이지 않습니다. 나는 제안에 열려 있습니다.
편집하다
돌이켜 보면 재미 있고 분명 할만큼 관련성이 높기 때문에 다음과 같이 작동하는 것처럼 보입니다.
1 to 20 map r.nextInt
그러나 반환 된 목록에있는 각 항목의 인덱스는 마지막 항목의 상한이기도합니다. 첫 번째 숫자는 1보다 작아야하고 두 번째 숫자는 2보다 작아야합니다. 서너 번 실행했는데 "음, 결과는 항상 0으로 시작합니다 ..."
Don의 솔루션을 사용 하거나 다음을 수행 할 수 있습니다 .
Seq.fill(n)(Random.nextInt)
새 Random
개체 를 만들 필요가 없습니다 . 위에서 설명한대로 기본 컴패니언 개체 Random을 사용할 수 있습니다.
어때 :
import util.Random.nextInt
Stream.continually(nextInt(100)).take(10)
귀하의 편집과 관련하여,
nextInt
걸릴 수 Int
있으므로, 위 임의의 숫자에 대한 바인드로 인수 1 to 20 map r.nextInt
와 동일한 1 to 20 map (i => r.nextInt(i))
오히려 더 유용한 컴파일 오류보다.
1 to 20 map (_ => r.nextInt(100))
의도 한대로합니다. 그러나 그것은 Seq.fill
당신이하는 일을 더 정확하게 나타 내기 때문에 사용 하는 것이 좋습니다.
참조 URL : https://stackoverflow.com/questions/9094820/how-to-generate-a-list-of-random-numbers
반응형
'IT박스' 카테고리의 다른 글
'내 애플리케이션 평가'에 대한 Android 접근 방식 (0) | 2021.01.06 |
---|---|
각 하위 요소에 대한 지연이있는 CSS 애니메이션 (0) | 2021.01.06 |
디버그 출력 창에서 노이즈 메시지 비활성화-Visual Studio 2012 (0) | 2021.01.06 |
vs2012에서 XAML 디자이너의 배경색을 변경하는 방법은 무엇입니까? (0) | 2021.01.05 |
우분투에 php70-gd 설치 (0) | 2021.01.05 |