⑴Dyalect是一款非常专业且优秀的动态编程语言,可用于.
⑵Core平台,该语言采用C#编写,具有轻巧快速现代等特点,可以在Windows,MacOS和Linux上无缝运行,同时还可以在任何这些平台上使用相同的二进制文件,Dyalect不使用DLR也不编译为IL,可在自己的高性能虚拟机上运行,不仅编译速度快而且还可以用作嵌入式语言或您选择的脚本语言,是一门学习编程的好语言,Dyalect提供了现代语法,拥有一流的函数协程表达模块动态类型系统等,需要的话就赶快下载吧!
⑶Dyalect可以轻松地嵌入到任何. Core应用程序中
⑷Dyalect核心是一个没有依赖项的单一库
⑸允许禁用/启用特定警告的生成,或生成自定义警告
⑹禁止从当前行开始到文件末尾或直到enable满足指令为止生成警告。
⑺启用先前禁用的警告(通过#warning
⑻disable指令或直接通过命令行。请记住,如果通过-nowarn开关禁用了所有警告,则该指令无效。
⑼禁用或启用Dy优化器。该指令可以覆盖-nopt(无优化开关。
⑽Dyalect中的函数可以具有可选参数。您可以通过为其分配默认值来使任何函数参数成为可选参数:
⑾可以使用C#语法创建匿名函数
⑿当您通过名称传递参数时,可以按您喜欢的任何顺序提供名称
⒀Dy中的变量使用var关键字声明。常量-带有let关键字。
⒁您可以在Dya(Dyalect交互式控制台中对变量进行测试
⒂如果在父函数(或全局范围中声明了变量,则可以使用base关键字访问它
⒃可以使用某个对象初始化变量,该对象需要稍后在程序中放置(例如,关闭文件系统句柄,终止连接等
⒄如果通过auto语句初始化对象,则dispose无论如何都将调用其方法-即使在声明之后立即生成异常。
⒅print是一个可变参数函数,它接受任意数量(任何类型的参数,将其转换为字符串,连接并打印到控制台(末尾带有换行符。
⒆assert 函数接受两个参数,对其进行比较,如果这些参数不相等,则生成异常。
⒇Dy具有C风格的语法,深受Swift,Go和C#等语言的启发。Dy中的分号是可选的,但是如果要在一行上放置多个语句,则可能需要使用分号。例如,以下代码不需要分号:
⒈然而,这确实做到了:
⒉像C Dy一样,使用parens进行分组,例如:
⒊Dy不是对身份敏感的语言(例如,Python。相反,Dy在代码块中使用C样式大括号:
⒋实际上,Dy中的所有控件结构都需要大括号,而括号是完全可选的。例如,此C#代码在Dy中无效,甚至无法编译:
⒌Dy是一种自由格式的语言,这意味着在大多数情况下,Dy也将忽略换行符。但是有时可能会考虑到它们。这里的规则非常直观,简单(与Swift相似。
⒍例如,以下代码:
⒎表示:写入x的值foo并返回一个元组(,,)。是的,Dy有元组。是的,return关键字仍然在我们这里,但是是可选的(除非您想尽早脱离某个功能。
⒏现在是第二个代码示例:
⒐这具有完全不同的含义。它的内容为:调用foo具有三个参数(分别为和的函数,并将结果写入变量x。
⒑在这种特殊情况下,Dy在尝试确定我们在此处是函数调用还是在元组时会考虑换行符。
⒒与数组和索引器类似的东西。返回一个元素的数组:
⒓从具有索引的数组中获取元素:
⒔从上面的代码中可以看到,您可以var像这样使用关键字声明一个新变量:
⒕上面的代码按照该词的正确含义创建了两个变量-您可以随时更改它们的值:
⒖但是,在很多情况下,这样的操作实际上是没有意义的。为什么要在返回one变量时two返回变量?因此,Dy引入了只读变量的概念:
⒗现在,如果您尝试更改其中任何一个的值,都会收到编译错误。let在大多数情况下,当您不需要或计划更改变量的值时,使用它是有意义的。换句话说,最好考虑let
⒘Dyalect并没有发明轮子,而是使用了与其他编程语言非常相似的控制流构造。最基本的是当然是有条件的if-else运营商,你已经看到上面的代码示例:
⒙else 子句是可选的,如果愿意,可以将其省略。
⒚Dy支持以while,do-while和for。形式的循环。while是其中最基本的-执行直到条件成立true:
⒛一while true {
①},除非你决定循环将永远执行break它的执行。do-while与该代码非常相似,唯一的例外是即使内部条件while不等于,它也将执行至少一次true。
②for 如果要遍历集合的元素,可以派上用场:
③当然,所有这些构造都具有比此处显示的功能更多的功能,但是您应该了解基本概念。
④一切都是一种表达
⑤Dy是一种以表达为中心的语言,这意味着Dy中的几乎所有内容都是一种表达。(顺便说一句,表达式总是产生一个值。
⑥考虑以下代码示例:
⑦这段代码是正确的,但是Dy允许您以其他方式编写它:
⑧实际上,即使大括号内的代码块也可以单独用作表达式!
⑨循环也是表达式(甚至可以产生值:
⑩上面的代码评估为。