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 پاسخ 221 بازدید
0 امتیاز
1 پاسخ 412 بازدید
+1 امتیاز
1 پاسخ 300 بازدید
0 امتیاز
1 پاسخ 573 بازدید
+1 امتیاز
1 پاسخ 434 بازدید
0 امتیاز
2 پاسخ 1.0هزار بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
...