就像标题所说这个列表会抛出错误
and: bad syntax in: and
但是如何编写它,在该列表中需要和?
最佳
答案 0 :(得分:0)
构建列表时,需要引用每个元素。
Welcome to Racket v6.12.
> (list 'test 'and)
'(test and)
答案 1 :(得分:0)
除了在s-expr的开头,你不能使用and
,因为它似乎是一个保留字。
除此之外,在其他位置,您只能将其用于quote
,否则会出现错误的语法错误。
让它出现在列表末尾的唯一可能性 - 因此 - 是:
`(test ,'and)
;; '(test and)
此外,Racket在评估之前进行语法检查(检查变量是否绑定)。 (而不是像Common Lisp那样评估表达式时)。
(if '() whatever 3) ;; `whatever` being a variable not defined before.
;; common-lisp: 3
;; racket: whatever: unbound identifier in module in: whatever
在Common Lisp中,由于它是一个Lisp-2(函数和变量之间的不同命名空间),你甚至可以创建/保留一个名为and
的变量:
;; CL: a variable with the name 'and'
(defvar and 3)
(list 1 and)
;; => (1 3)
但是,在Common Lisp中,不允许重新定义函数and
:
;; CL: redefine function 'and' - doesn't work:
(defun and (&rest args) (apply #'or args))
;; *** - DEFUN/DEFMACRO: AND is a special operator and may not be redefined.
在Racket中,不可能将某事物绑定到像and
这样的保留字。
因此,由于Racket是Lisp-1,因此不允许对and
进行任何重新定义(既不作为变量名也不作为函数名),并且因为在评估s-expr之前,Racket会对绑定变量进行语法检查 - 无论是and
/ quote
,还是在没有'
/ dictionary = gensim.corpora.Dictionary(totalvocab_lemmatized)
dictionary.compactify()
corpus = [dictionary.doc2bow(text) for text in totalvocab_lemmatized]
###tfidf model
tfidf = gensim.models.TfidfModel(corpus, normalize = True)
corpus_tfidf = tfidf[corpus]
###LSI model
lsi = gensim.models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=300)
vectors =[]
for n in lemmatized[:100]:
vec_bow = dictionary.doc2bow(n)
vec_lsi = lsi[vec_bow]
print(len(vec_lsi))
的情况下,不能在S-expression开头的任何其他位置使用特殊形式/宏或函数kubectl run eureka-server --image=eureka-server-image --port=8761
kubectl expose deployment eureka-server --type NodePort:31000
。