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 پاسخ 192 بازدید
0 امتیاز
1 پاسخ 378 بازدید
+1 امتیاز
1 پاسخ 259 بازدید
0 امتیاز
1 پاسخ 532 بازدید
+1 امتیاز
1 پاسخ 405 بازدید
0 امتیاز
2 پاسخ 963 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
...