Julia 1.0中的关键字(或保留字)

Julia 1.0中的关键字(或保留字),julia,Julia,如何获取正在运行的Julia版本的关键字信息 例如,Python 3.6中有33个关键字,但2.7中只有31个: # This is Python 3.6 code running in a file: import keyword print(len(keyword.kwlist)) ## Output: 33 # This is Python 2.7 code running in a file: import keyword print len(keyword.kwlist) ## Ou

如何获取正在运行的Julia版本的关键字信息

例如,Python 3.6中有33个关键字,但2.7中只有31个:

# This is Python 3.6 code running in a file:
import keyword
print(len(keyword.kwlist))
## Output: 33

# This is Python 2.7 code running in a file:
import keyword
print len(keyword.kwlist)
## Output: 31
这种检查能在朱莉娅身上进行吗?还是有人对获取运行版本的Julia关键字信息有不同的建议

编辑:

感谢下面的回复,我得到了一些有趣的建议。然而,似乎缺少了一些东西。例如,在下面提供的每个保留字列表中,缺少单词
elseif
。我是否相信
elseif
不是关键字(或保留字)

另外,当我转到
初始保留字
保留字
来自的方案代码时,我发现以下代码:

(define initial-reserved-words '(begin while if for try return break continue
                         function macro quote let local global const do
                         struct
                         module baremodule using import export))

(define initial-reserved-word? (Set initial-reserved-words))

(define reserved-words (append initial-reserved-words '(end else catch finally true false))) ;; todo: make this more complete
在上面最后一行的末尾是评论:

;; todo: make this more complete
这似乎意味着,即使是
初始保留字
保留字
列表(或在Scheme中调用的任何内容)的并集也不完整

因此,我推迟了对其中一个答案的检查。当我看到如何在Julia代码中获得Julia保留字的规范列表时,我将很乐意检查一个。如果Julia专家认为以下建议之一是获取当前版本Julia的关键字(保留字)列表的最佳方法,我将非常感谢您的帮助。

Allo

有一些关键词,你可以在网页上找到

  • 如果您查看github上的存储库,其中有一个包含所有关键字的值。您可以从命令行访问它:
  • 或者,您也可以自己创建阵列:
如果您是Julia的新手,我建议您看看:

这是一组示例,您可以在该语言上进行实验。
我希望这有帮助;)

实际上不是在朱莉娅身上,但也许是你在寻找的。在命令行上,键入
julia--lisp
将带您进入julia用于解析的lisp解释器,在该解释器中,您可以通过计算
保留字
(以及许多其他像
操作符
)来查看反转字列表


这不是一个纯粹的朱莉娅问题吗?Python在这里有什么关系?我想说明关键字是如何随着语言版本的不同而变化的。我来自Python背景,想用Python中的实际代码来说明我在Julia中寻找的东西。另外,了解Python和Julia的人数可能比只了解Julia的人数还要多。这并不能完全回答您的问题,但您可能会发现这种黑客很有趣:
mapreduce(α->Base.REPLCompletions.completions(string(α),1)[1],vcat,string(Char(0x20):Char(0x7e))
。有趣的黑客,但唯一的基础是。。。我在Julia 1.0.0中得到的REPL是Base.REPL\u MODULE\u REF。也许我误解了什么?啊,是的。我仍然在v0.6.4上。对于v1.0.0,我认为它可能是
mapreduce(α->Base.REPL\u MODULE\u REF.x.REPLCompletions.completions(string(α),1)[1],vcat,string(Char(0x20):Char(0x7e))
。感谢您的链接。是的,Julia 1.0文档确实确定了关键字。例如,return作为关键字列出。但是,我希望以编程方式获取关键字列表,如Python 2.7/3.6示例中所示。我不知道该方案,也不知道如何从Julia处访问它。而且,initial这个词让我很烦恼。这是否意味着在设置初始值后会有更多的值?我相信你可以从julia控制台获取它们,否则我知道的唯一方法就是自己创建数组。你如何从julia控制台获取它们?尝试按tab键两次,它应该会出现,或者您可以使用帮助
-h
或使用
命令。知道这一点很酷。然而,我希望有一种方法可以在简单的Julia代码中实现这一点。也许这是不可能的,在这种情况下,你的建议可能是最好的。我等着看。
$ julia --lisp
;  _
; |_ _ _ |_ _ |  . _ _
; | (-||||_(_)|__|_)|_)
;-------------------|-------------------------------------------------------

> initial-reserved-words
(begin while if for try return break continue function macro quote let local
 global const do struct module baremodule using import export)
keywords = ("begin","while","if","for","try","return","break","continue","function","macro",
            "quote","let","local","global","const","do","struct","module","baremodule",
            "using","import","export")

print(length(keywords)) # 22
> julia --lisp
;  _
; |_ _ _ |_ _ |  . _ _
; | (-||||_(_)|__|_)|_)
;-------------------|----------------------------------------------------------

> reserved-words
(begin while if for try return break continue function macro quote let local
 global const do struct type immutable importall module baremodule using import
 export end else catch finally true false)