首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >输出状态栏和百分比

输出状态栏和百分比
EN

Stack Overflow用户
提问于 2018-05-22 21:07:38
回答 1查看 56关注 0票数 1

我正在计算处理时间

代码语言:javascript
运行
复制
start =: 6!:0 ''

在我的代码顶部

代码语言:javascript
运行
复制
end =: (6!:0 '') - start

在我的代码末尾。但是,我是否可以在J中实现这样的状态栏呢?

代码语言:javascript
运行
复制
[====                      ]  25%
[============              ]  50%
[==========================] 100%

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-22 22:22:39

如果我理解您的问题,您可以使用系统定义为smoutput0 0 $ 1!:2&2在屏幕上显示处理里程碑。

代码语言:javascript
运行
复制
someverb =: 3 : 0
   smoutput '{        }'
   code
   smoutput '{+++     }'
   more code
   smoutput '{+++++   }'
   more code
   smoutput '{++++++++}'
)

但是,您必须知道插入smoutput表达式的位置将与所发生的处理量相对应。

例如:

代码语言:javascript
运行
复制
   test =: 3 : 0
​smoutput 6!:0 'hh:mm:ss.sss'
​6!:3 (2) NB. 2 second delay
​smoutput 6!:0 'hh:mm:ss.sss'
​6!:3 (2) NB. 2 second delay
​smoutput 6!:0 'hh:mm:ss.sss'
​)
   test ''
14:53:42.313
14:53:44.317 NB. after two second delay
14:53:46.326 NB. after two second delay

或者更接近您想要的输出

代码语言:javascript
运行
复制
test1 =: 3 : 0
  start=. 6!:0 ''
  smoutput '[            ]   0%'
  6!:3 (2) NB. 2 second delay
  smoutput '[===         ]  25%'
  6!:3 (2) NB. 2 second delay
  smoutput '[======      ]  50%'
  6!:3 (4) NB. 4 second delay
  smoutput '[============] 100%'
  (6!:0 '')- start
)
   test1 ''
[            ]   0%
[===         ]  25%
[======      ]  50%
[============] 100%
0 0 0 0 0 8.01821
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50476475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档