在BASIC中,print语句可能如下所示:
100 PRINT "Copyright, Adrian McMenamin","maybe"
Run Code Online (Sandbox Code Playgroud)
哪个应该在第一个语句和第二个语句之间放置一个制表符空格.
我正在为Groovy/Java中的BASIC开发DSL /解释器,需要解析这一行并生成如下内容:
print "Copyright, Adrian McMenamin", " ","maybe"
Run Code Online (Sandbox Code Playgroud)
(因为Groovy将逗号解释为仅分离打印函数的参数.)
那么正则表达式将区分不在引号内的逗号和那些(不要担心PRINT或行号等)的逗号?
我读过GOTO很糟糕,但我该如何避免呢?我不知道如何在没有GOTO的情况下进行编程.在BASIC中,我使用了GOTO.我应该在C和C++中使用什么?
我在BASIC中使用了GOTO,如下所示:
MainLoop:
INPUT string$
IF string$ = "game" THEN
GOTO game
ENDIF
Run Code Online (Sandbox Code Playgroud) 我是VB.net的新手,我对这个语句没什么问题,我想抛出msgBox只是因为在txtBox中txtTitul不是"Bc".或""或"Ing." ...而且每次都会抛出msgBox
If Not txtTitul.Text.Equals("Bc.") _
OrElse Not txtTitul.Text.Equals("") _
OrElse Not txtTitul.Text.Equals("Bc.") _
OrElse Not txtTitul.Text.Equals("Mgr.") _
OrElse Not txtTitul.Text.Equals("Ing.") _
OrElse Not txtTitul.Text.Equals("Mgr. art.") _
OrElse Not txtTitul.Text.Equals("Ing. arch.") _
OrElse Not txtTitul.Text.Equals("MUDr.") _
OrElse Not txtTitul.Text.Equals("MVDr.") _
OrElse Not txtTitul.Text.Equals("RNDr.") _
OrElse Not txtTitul.Text.Equals("PharmDr.") _
OrElse Not txtTitul.Text.Equals("PhDr.") _
OrElse Not txtTitul.Text.Equals("JUDr.") _
OrElse Not txtTitul.Text.Equals("PaedDr.") _
OrElse Not txtTitul.Text.Equals("ThDr.") Then
MsgBox("Neplatny titul!")
Exit Sub
End If
Run Code Online (Sandbox Code Playgroud) 我有一个遗留程序,我假设是用 BASIC 编写的(一个以 .bas 结尾的文件)。好像已经编译过了!当在十六进制编辑器中打开时,字符串和注释都是可读的,而完成计算的部分则不可读。AFAIK,BASIC 是一种解释语言。
问题:
我当时正在考虑学习BASIC,因为一位朋友告诉我,这是Excel中使用的语言,但是当我在网上搜索时,它表明VBA是Excel中用于编码的语言。所以我很困惑他们是否都是同一个人。如果不是,那么它们都可以用于在Excel中进行编码吗?如果是这样,那么对于面向基于OOP的Java语言的人来说哪个更好?
10 PRINT CHR$(205.5+RND+(1));:GOTO 10 我似乎是唯一一个无法做到这一点的人。我已经编写了各种 BASIC 但我对此无能为力。我缺少什么?我收到“SYNTAX ERROR IN 10”,我无法让它工作,实际上,为什么会这样呢?205 是一个内存地址,所以 5 的值是随机数,但模式从何而来。我们不需要吗?“/”“\”。205.5 产生这些/??? 这没有任何意义。我一定对计算机和 BASIC 有一种极端的误解,但奇怪的是,这并没有阻止我创建正常运行的程序。我也用C编程,但我仍然完全一无所知。从来没有见过这样的工作,似乎有一个隐藏行 1,2,3,4,5,6,7,8,9,没有列出,所以我不知道其余的代码是什么? ??
我尝试过 64mini 和几个模拟器,它们都给出了相同的错误。我是不是中风了,需要去医院吗?也许我再也无法辨别屏幕上看到的东西了,哈哈。
10 打印 CHR$(205.5+RND+(1));:转到 10