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 پاسخ 339 بازدید
0 امتیاز
1 پاسخ 438 بازدید
0 امتیاز
1 پاسخ 505 بازدید
+1 امتیاز
1 پاسخ 405 بازدید
0 امتیاز
1 پاسخ 692 بازدید
+1 امتیاز
1 پاسخ 532 بازدید
0 امتیاز
2 پاسخ 1.2هزار بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
...