0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط

من با استفاده از اپراتور ! یک دستور سیستمی را در یک برنامه اسکالا اجرا می کنم و فقط لازم دارم از اجرای موفق آمیز اون مطلع بشم و نیازی به خروجی دستور که در بعد از اجرای برنامه اسکالا در command line زده می شود ندارم ولی خروجی دستور نیز در command line نمایش داده می شود. چگونه می توانم جلوی این را بگیرم؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

اپراتور ! یک overload دارد که پارمتر از جنس ProcessLogger می گیرد در صورتی که به stderr و stdout دستور اجرا شده احتیاج ندارید می توانید آنها را درون یک StringBuilder بریزید که در command line  چاپ نشوند:

  def runSomeCommand(command: String): Boolean = {
    val stdout = new StringBuilder
    val stderr = new StringBuilder
    (command ! ProcessLogger(stdout append _, stderr append _)) == 0
  }

سوالات مشابه

0 امتیاز
1 پاسخ 283 بازدید
0 امتیاز
1 پاسخ 386 بازدید
0 امتیاز
1 پاسخ 457 بازدید
+1 امتیاز
1 پاسخ 354 بازدید
0 امتیاز
1 پاسخ 635 بازدید
+1 امتیاز
1 پاسخ 486 بازدید
0 امتیاز
2 پاسخ 1.1هزار بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
...