用户键入某些关键字时调用函数

时间:2015-05-28 06:15:18

标签: vb.net

好的,我正在使用VB控制台应用程序开发一种小型脚本语言。

我希望用户输入"说('某些')"并且它调用我命名的函数"说",有没有办法调用该函数并仍然使用以下代码:

Module Module1

Sub say(sayline)
    Console.WriteLine(sayline)
End Sub


Sub Main()

    Dim cmd As String
    Console.WriteLine(">")
    Do
        Console.Write("")
        cmd = Console.ReadLine()
        If cmd IsNot Nothing Then cmd
    Loop While cmd IsNot Nothing



End Sub

End Module

2 个答案:

答案 0 :(得分:1)

不,你不能只是从用户的字符串中调用一个方法。您需要解释输入的数据。

首先,您需要拆分方法名称和参数,以便输入的"say('something')"转换为saysomething。请记住,用户可以输入错误的数据,您需要检查此调用是否正确 - 它是关于语法和词法分析的全部内容。我希望你能理解如何做到这一点,因为这很难。

然后,您需要检查是否有一个名为say的方法。如果结构简单明了,switch构造就足够了。如果你有这样的方法,那么将something参数传递给这个方法。否则,输出类似"未知方法"。

答案 1 :(得分:0)

如果您想在键入单词say时调用方法say(something)并显示单词something,那么您可以设置一个条件,即如果用户输入单词{在输入中{1}}然后调用say else,在else部分执行任何你想做的事情。解析输入并从输入中省略单词say method,然后显示它。

例如,您可以以这种方式使用代码。 (我只是复制了你的代码并添加了一些代码来满足你想要的......在我的理解中)

say