Main Content

repeat

类: matlab.mock.actions.Invoke
命名空间: matlab.mock.actions

重复调用函数句柄

语法

repeat(action,n)

说明

repeat(action,n) 重复同样的动作 n 次。您可以采用任意顺序指定输入参量。也就是说,repeat(action,n)repeat(n,action) 都重复动作 n 次。

输入参数

全部展开

定义的动作,指定为 matlab.mock.actions.Invoke 的实例。

示例: action = Invoke(@isempty)

示例: action = Invoke(@(~)randi(10))

重复动作的次数,指定为整数。

示例: 5

示例

全部展开

创建一个 mock,用它来表示一个 12 面骰子并包含一个模拟 roll 方法的类。

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock("AddedMethods","roll");

设置 roll 方法的行为,以从 randi 函数返回值两次,然后返回 0。

import matlab.mock.actions.AssignOutputs
import matlab.mock.actions.Invoke

when(withExactInputs(behavior.roll), ...
    Invoke(@(~)randi(12)).repeat(2).then(AssignOutputs(0)))

调用模拟的 roll 方法四次。

val = mock.roll
val = 10
val = mock.roll
val = 11
val = mock.roll
val = 0
val = mock.roll
val = 0

版本历史记录

在 R2018b 中推出