传递作为可选参数的优雅方法,以使子例程像被忽略一样工作?

Amessihel

在VB6中,该函数Mid(string, start, [length])具有可选参数length如果省略,start则将传递边界之后的整个字符

假设我只在特定条件下才需要这种默认行为:

s = Mid(s, i, IIf(condition, j, TheValue)) ' What could be TheValue?

由于lengthVariant类型,所以我尝试了Empty没用 -1都没有Nothing我不想在If-Then-Else子句或其他某种方式中复制到Mid call 这可能吗?

q

这是OPs = Mid(s, i, IIf(condition, j, TheValue))生产线的工作示例

Option Explicit

Property Get TheValue(Optional RetVal As Variant)
    TheValue = RetVal
End Property

Private Sub Form_Load()
    Dim s As String
    Dim i As Long
    Dim j As Long
    Dim condition As Boolean
    
    s = "test test test"
    i = 6: j = 3
    condition = False
    s = Mid(s, i, IIf(condition, j, TheValue))         '<--- this works!
    Debug.Print s
End Sub

请注意,如何TheValue返回“缺失”,Variant即测试为肯定的IsMissing并且可以代替可选参数而不是不传递实际参数的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

传递作为可选参数的优雅方法,以使子例程像被忽略一样工作?

来自分类Dev

将工作表作为参数传递给子例程

来自分类Dev

如何像opendir一样在子例程参数中允许词法变量声明?

来自分类Dev

如何提供数组作为脚本的文件参数,以使每个元素都像文件中的一行一样?

来自分类Dev

Perl:修改作为参数传递给子例程的变量

来自分类Dev

在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

来自分类Dev

如何将参数像普通属性一样传递给方法?

来自分类Dev

将Perl数组取消引用作为参数传递给子例程时,它无法正常工作

来自分类Dev

将Perl数组取消引用作为参数传递给子例程时,它无法正常工作

来自分类Dev

C ++ / CX:为什么不返回StringReference的工作就像传递一个参数一样?

来自分类Dev

有没有一种方法可以使Openbox像Compiz Grid插件一样工作?

来自分类Dev

如何像子例程一样调用其他shell脚本?

来自分类Dev

带有可选块参数的子例程

来自分类Dev

有没有一种方法可以使JSONArray重载以使其在循环中像常规List一样工作?

来自分类Dev

传递类子例程作为回调

来自分类Dev

如何在协议的可选方法中将枚举作为参数传递

来自分类Dev

如何将类作为可选参数传递给方法?

来自分类Dev

如何在协议的可选方法中将枚举作为参数传递

来自分类Dev

重写文件夹以使其像root一样工作

来自分类Dev

重写文件夹以使其像root一样工作

来自分类Dev

将工作表传递给子例程

来自分类Dev

Perl:CGI模块-将param()作为参数传递给子例程

来自分类Dev

将2d数组作为1d参数fortran传递给子例程

来自分类Dev

Guava可选作为可选参数的方法参数

来自分类Dev

Guava可选作为可选参数的方法参数

来自分类Dev

在bash中,是否可以将数组作为函数的args传递(就像xargs一样)?

来自分类Dev

将变量传递给 Jquery 的参数,就像它是一个类一样

来自分类Dev

JavaFX:使按钮看起来像被单击一样

来自分类Dev

像对象一样获取错误在ReactJs中作为React子元素无效

Related 相关文章

  1. 1

    传递作为可选参数的优雅方法,以使子例程像被忽略一样工作?

  2. 2

    将工作表作为参数传递给子例程

  3. 3

    如何像opendir一样在子例程参数中允许词法变量声明?

  4. 4

    如何提供数组作为脚本的文件参数,以使每个元素都像文件中的一行一样?

  5. 5

    Perl:修改作为参数传递给子例程的变量

  6. 6

    在Windows上,是否有一种方法可以双击Shift键以使其像Capslock一样工作,就像移动键盘一样?

  7. 7

    如何将参数像普通属性一样传递给方法?

  8. 8

    将Perl数组取消引用作为参数传递给子例程时,它无法正常工作

  9. 9

    将Perl数组取消引用作为参数传递给子例程时,它无法正常工作

  10. 10

    C ++ / CX:为什么不返回StringReference的工作就像传递一个参数一样?

  11. 11

    有没有一种方法可以使Openbox像Compiz Grid插件一样工作?

  12. 12

    如何像子例程一样调用其他shell脚本?

  13. 13

    带有可选块参数的子例程

  14. 14

    有没有一种方法可以使JSONArray重载以使其在循环中像常规List一样工作?

  15. 15

    传递类子例程作为回调

  16. 16

    如何在协议的可选方法中将枚举作为参数传递

  17. 17

    如何将类作为可选参数传递给方法?

  18. 18

    如何在协议的可选方法中将枚举作为参数传递

  19. 19

    重写文件夹以使其像root一样工作

  20. 20

    重写文件夹以使其像root一样工作

  21. 21

    将工作表传递给子例程

  22. 22

    Perl:CGI模块-将param()作为参数传递给子例程

  23. 23

    将2d数组作为1d参数fortran传递给子例程

  24. 24

    Guava可选作为可选参数的方法参数

  25. 25

    Guava可选作为可选参数的方法参数

  26. 26

    在bash中,是否可以将数组作为函数的args传递(就像xargs一样)?

  27. 27

    将变量传递给 Jquery 的参数,就像它是一个类一样

  28. 28

    JavaFX:使按钮看起来像被单击一样

  29. 29

    像对象一样获取错误在ReactJs中作为React子元素无效

热门标签

归档