首页 > 解决方案 > BrightScript 函数返回字符串有时会返回自身(函数)

问题描述

有时,当应该返回invalid或 a的 BrightScript 函数string返回时,它既不返回无效也不返回字符串,而是(看起来)返回 type Function。我无法找到原因或时间,但对于when来说似乎相当随意这是这样一个功能。

function RegRead(key, section = invalid)
  if section = invalid section = "Default"
  sec = CreateObject("roRegistrySection",section)
  if sec.Exists(key)
    return sec.Read(key)
  end if
  return invalid
end function

我称之为这样的东西

val = RegRead("code")

这是怎么回事?这是一个 BrightScript 错误吗?

标签: rokubrightscript

解决方案


我想我可能找到了罪魁祸首:名字冲突。我有类似的功能

function Code()
    ' bla bla bla
end function

...这意味着我不能在同一个脚本的其他地方有同名的变量。

有了上面名为 Code 的函数,我无法在其他地方执行此操作:

sub Somethingelse()
    code = FetchValue()
end sub

由于变量名code会与函数冲突Code()


推荐阅读