[ci skip] loopfunc