반응형
루비에서 긴 반복 텍스트 문자열을 어떻게 생성합니까?
루비에서 긴 문자열을 빠르게 생성하는 가장 좋은 방법은 무엇입니까? 이것은 작동하지만 매우 느립니다.
str = ""
length = 100000
(1..length).each {|i| str += "0"}
또한 적절한 길이의 문자열을 만든 다음 기존 문자열에 원하는 길이까지 추가하면 훨씬 빠르게 작동한다는 것을 알았습니다.
str = ""
incrementor = ""
length = 100000
(1..1000).each {|i| incrementor += "0"}
(1..100).each {|i| str += incrementor}
다른 제안?
str = "0" * 999999
비교적 빠른 또 다른 옵션은
str = '%0999999d' % 0
벤치마킹
require 'benchmark'
Benchmark.bm(9) do |x|
x.report('format :') { '%099999999d' % 0 }
x.report('multiply:') { '0' * 99999999 }
end
곱셈이 여전히 더 빠름을 보여줍니다
user system total real
format : 0.300000 0.080000 0.380000 ( 0.405345)
multiply: 0.080000 0.080000 0.160000 ( 0.172504)
999999999999999999.times{
print "0"
}
참고 URL : https://stackoverflow.com/questions/2296994/in-ruby-how-do-i-generate-a-long-string-of-repeated-text
반응형
'development' 카테고리의 다른 글
롤리팝 : 색상을 투명하게 설정하여 statusBar 뒤에 그리기 (0) | 2020.07.02 |
---|---|
스크립트 끝에서 R 신호음을 울리거나 재생하는 방법이 있습니까? (0) | 2020.07.02 |
Xcode 9 GM-이전 버전에서 WKWebView NSCoding 지원이 중단되었습니다. (0) | 2020.07.01 |
jekyll markdown 내부 링크 (0) | 2020.07.01 |
Swift에서 Optional에 기본값을 제공 하시겠습니까? (0) | 2020.07.01 |