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 پاسخ 196 بازدید
0 امتیاز
1 پاسخ 381 بازدید
+1 امتیاز
1 پاسخ 263 بازدید
0 امتیاز
1 پاسخ 538 بازدید
+1 امتیاز
1 پاسخ 408 بازدید
0 امتیاز
2 پاسخ 969 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
...