Indexing 尝试使用索引修改字符串时出现语法错误
我在美国学习APL 为什么会出现这种语法错误Indexing 尝试使用索引修改字符串时出现语法错误,indexing,variable-assignment,in-place,apl,dyalog,Indexing,Variable Assignment,In Place,Apl,Dyalog,我在美国学习APL 为什么会出现这种语法错误 'computer' [ 1 2 3 ] ← 'COM' SYNTAX ERROR 'computer'[1 2 3]←'COM' ^ 但是如果我将'computer'保存在一个变量中,我不会得到错误: T ← 'computer' T computer T[1 2 3] ← 'COM' T COMputer 我做错了什么?那个括号符号是专门用来修改变量的。T[1 2
'computer' [ 1 2 3 ] ← 'COM'
SYNTAX ERROR
'computer'[1 2 3]←'COM'
^
但是如果我将'computer'
保存在一个变量中,我不会得到错误:
T ← 'computer'
T
computer
T[1 2 3] ← 'COM'
T
COMputer
我做错了什么?那个括号符号是专门用来修改变量的。
T[1 2 3]的返回值← 'COM'
是'COM'
,因此,如果表达式没有修改变量,它将毫无意义(或者,几乎与⊢代码>)
要获取修改的数组,而不是修改变量,请使用运算符:
括号符号是专门用来修改变量的。T[1 2 3]的返回值← 'COM'
是'COM'
,因此,如果表达式没有修改变量,它将毫无意义(或者,几乎与⊢代码>)
要获取修改的数组,而不是修改变量,请使用运算符:
“计算机”
是一个常量,您不能更改常量本身的值,只能更改变量的当前值
想一想:如果你可以分配给'computer'
,那么下次你写'computer'
,你会期望结果是computer
?2怎么样←3
?显然,这没有任何意义
但是,您可以使用相对较新的@
“at”运算符修改值,而无需将其指定给名称(它不包括在Mastering Dyalog APL中,但是)
您可以将字母“COM”读入“computer”一词的索引1 2 3中。⊢
此处仅用于将1 2 3
与'计算机
分开,因此@
很清楚索引的构成以及要修改的数组
“计算机”
是一个常量,您不能更改常量本身的值,只能更改变量的当前值
想一想:如果你可以分配给'computer'
,那么下次你写'computer'
,你会期望结果是computer
?2怎么样←3
?显然,这没有任何意义
但是,您可以使用相对较新的@
“at”运算符修改值,而无需将其指定给名称(它不包括在Mastering Dyalog APL中,但是)
您可以将字母“COM”读入“computer”一词的索引1 2 3中。⊢
此处仅用于将1 2 3
与'计算机
分开,因此@
很清楚索引的构成以及要修改的数组
('COM'@1 2 3) 'computer'
'COM'@1 2 3⊢'computer'
COMputer