سيكون رائعا. على سبيل المثال ، إذا كان هناك شريط تقدم داخل شريط التقدم ...
سيكون من الرائع إذا نجح شيء مثل هذا:
pb1 <- progress_bar$new(total = 100)
for(i in 1:100){
pb1$tick()
pb2 <- progress_bar$new(total = 100)
for(j in 1:100){
pb2$tick()
Sys.sleep(1/1000)
}
}
أجل ، بالضبط.
أعتقد أنه يمكننا الحصول على مجموعة عالمية من أشرطة التقدم النشطة. في شاشات العرض التي تدعم شريط تقدم واحد فقط ، وأبرزها R Studio ، سنعرض فقط الشريط العلوي ، وربما نعرض ملخصًا للباقي. على سبيل المثال لثلاثة مستويات:
85% | 34% | 50% [====================--------------------] ETA 13s
بالنسبة للمحطات التي تدعم ANSI المناسب ، يمكننا عرض جميع أشرطة التقدم (جيدًا ، حتى 10-20) في وقت واحد.
أعتقد أن إحدى الطرق التي يمكنك من خلالها دعم 3 أو 4 أشرطة تقدم متزامنة على سطر واحد هي استخدام أنماط برايل أحادية الترميز
[⠿⠿⠟⠛⠛⠛⠒⠒⠒⠒ ]
jimhester هذا ذكي ، ولكنه أيضًا محدود للغاية ، للأسف.
الوظيفة أدناه التي قمت بإنشائها بدائية للغاية ، ولكن لماذا لا يكون شيء مثل أدناه ممكنًا؟ أرغب في الحصول عليها في حزمة نمط تقدم مع خيارات للتقدم.
إعادة إنشاء البيانات:
df <- data.frame(samplecol=c(1:50),
file=c(1:50))
df$file <- paste0("file",df$file)
x <-function() {Sys.sleep(1/100)}
y <-function() {Sys.sleep(1/20)}
وظيفة:
doubleProgressBar <- function(x, y) {
for (i in 1:100) {
x()
for(j in 1:50){
y()
cat("\014")
writeLines(c(paste0("OVERALL PROGRESS:", i,"%"," [",paste(rep("+",round((i/5))), collapse="")),
paste0("FILE%: ",(j*2),"%"," CURRENTLY LOADING FILE: ",df[j,"file"], " [",paste(rep("+",round((j/2.5))), collapse=""))))
}
cat("\014")
writeLines(c(paste0("OVERALL PROGRESS:", i,"%"," [",paste(rep("+",round((i/5))), collapse="")),
paste0("FILE%: ",(j*2),"%"," CURRENTLY LOADING FILE: ",df[j,"file"], " [",paste(rep("+",round((j/2.5))), collapse=""))))
}
}
###Does what I want, but with crude text entry.
###Would be nice to have a package with nice entry have a double bar
doubleProgressBar(x,y)
سيكون من السهل القيام بذلك إذا كانت جميع المحطات الطرفية R تدعم تسلسل هروب ANSI لتحريك أسطر المؤشر لأعلى وللأسف فإن البعض (لا سيما محطة windows الافتراضية) لا تفعل ذلك ، لذا فأنت مقيد فقط بمسح السطر الأخير من النص باستخدام \r
.
هل يمكنك إضافة خيار لاستخدام تسلسلات هروب ANSI الكاملة؟
بدلاً من ذلك ، يمكنك تقسيم المسافة الأفقية بين أشرطة التقدم ...
التعليق الأكثر فائدة
أجل ، بالضبط.
أعتقد أنه يمكننا الحصول على مجموعة عالمية من أشرطة التقدم النشطة. في شاشات العرض التي تدعم شريط تقدم واحد فقط ، وأبرزها R Studio ، سنعرض فقط الشريط العلوي ، وربما نعرض ملخصًا للباقي. على سبيل المثال لثلاثة مستويات:
بالنسبة للمحطات التي تدعم ANSI المناسب ، يمكننا عرض جميع أشرطة التقدم (جيدًا ، حتى 10-20) في وقت واحد.