安下载编程开发

分类分类

Dyalect(动态编程语言)

Dyalect(动态编程语言)

v0.20.2 官方版

大小:0.3 MB 更新:2021/04/30

类别:编程工具系统:WinXP, Win7, Win8, Win10, WinAll

立即下载

  Dyalect是一款编程语言,您可以将其添加到.NET Core使用,可以在软件上快速编辑相关的代码项目,支持复杂类型元组、数组、地图、迭代器、范围、模式匹配、异常处理、模组、整数、布尔等功能,让用户可以通过这款软件构建新的程序,您可以在软件上添加异常处理功能,可以使用任何数据类型作为异常对象,例如,您可以抛出诸如元组,数组等的复合值,Dy使用特殊的Error数据类型来表示所有异常,此类型具有多个构造函数,用于表示不同类型的错误,您也可以使用构造函数创建地图,提供的编辑功能还是非常丰富的,如果你会使用就可以下载尝试

Dyalect(动态编程语言)

软件功能

  Dyalect是用于.NET Core平台的动态编程语言。它轻巧,快速,现代。Dyalect(或简称Dy)是用C#编写的,除了标准的.NET Core库外,它们的依赖项为零,这意味着它可以在Windows,MacOS和Linux上无缝运行。此外,您可以在任何这些平台上使用相同的二进制文件!

  Dy不使用DLR,也不编译为IL(.NET程序集)。相反,它在自己的高性能虚拟机之上运行。它编译速度快,可以用作嵌入式语言或您选择的脚本语言。它也是学习编程的好语言。

  Dyalect提供了现代语法,其灵感来自于C#,Swift,Go和Rust等语言,一流的函数,协程,表达模块,动态类型系统,该系统具有使用新功能扩展现有类型的能力等等。

软件特色

  模组

  任何带有代码的文件(或目标文件)都称为模块。因此,此模块的名称与文件的名称相同(扩展名除外)。模块用于分隔功能块。每个程序都可以导入一个模块,并可以访问其公共成员。

  Dyalect中的模块是代码重用和面向组件编程的主要工具。

  自定义类型

  Dyalect允许定义自定义类型。语法非常简单:输入Point(x,y)

  异常处理

  Dy支持结构化异常处理,该结构化异常处理被多种编程语言(包括C#等语言)采用

  范围

  Dy具有用于生成值范围的内置函数。Dy中的范围是迭代器,因此以非严格方式执行。从根本上讲,范围接近IEnumerable<>.NET。

  通常,可以使用静态Iterator.range方法实例化范围

  模式匹配

  模式匹配是编写条件语句的更简洁和声明性的方式。模式可以测试某个值是否具有特定形状,并从该值中提取信息。例如,您可以测试值是否是特定长度的集合,并将该集合的某些元素绑定到变量。

  Dyalect控制台

  Dyalect控制台(或dya)是一个跨平台的命令行实用程序,可以用作交互式环境和Dyalect编译器/解释器的接口。Dya支持可在交互式环境中直接执行的命令行开关和命令。

使用说明

  Dy具有C风格的语法,深受Swift,Go和C#等语言的启发。Dy中的分号是可选的,但是如果要在一行上放置多个语句,则可能需要使用分号。例如,以下代码不需要分号:

  yield 1

  yield 2

  然而,这确实做到了:

  yield 1; yield 2

  像C Dy一样,使用parens进行分组,例如:

Dyalect(动态编程语言)

  Dy不是对身份敏感的语言(例如,Python)。相反,Dy在代码块中使用C样式大括号:

Dyalect(动态编程语言)

  实际上,Dy中的所有控件结构都需要大括号,而括号是完全可选的。例如,此C#代码在Dy中无效,甚至无法编译:

Dyalect(动态编程语言)

  循环也是如此。

Dyalect(动态编程语言)

  Dy是一种自由格式的语言,这意味着在大多数情况下,Dy也将忽略换行符。但是有时可能会考虑到它们。这里的规则非常直观,简单(与Swift相似)。

  例如,以下代码:

  x = foo

  (1, 2, 3)

  表示:写入x的值foo并返回一个元组(1,2,3)。是的,Dy有元组。是的,return关键字仍然在我们这里,但是是可选的(除非您想尽早脱离某个功能)。

  现在是第二个代码示例:

  x = foo (1, 2, 3)

  这具有完全不同的含义。它的内容为:调用foo具有三个参数(分别为和)的函数1,2并将3结果写入变量x。

  在这种特殊情况下,Dy在尝试确定我们在此处是函数调用还是在元组时会考虑换行符。

  与数组和索引器类似的东西。返回一个元素的数组:

  x = foo

  [1]

  从具有索引的数组中获取元素1:

  x = foo[1]

  好吧,让我们前进。

  变数

  从上面的代码中可以看到,您可以var像这样使用关键字声明一个新变量:

  var one = 1

  var two = 2

  上面的代码按照该词的正确含义创建了两个变量-您可以随时更改它们的值:

  one = 2

  two = 1

  但是,在很多情况下,这样的操作实际上是没有意义的。为什么要在返回one变量2时two返回变量1?因此,Dy引入了只读变量的概念:

  let one = 1

  let two = 2

  现在,如果您尝试更改其中任何一个的值,都会收到编译错误。let在大多数情况下,当您不需要或计划更改变量的值时,使用它是有意义的。换句话说,最好考虑let 默认使用。

  控制流

  Dyalect并没有发明轮子,而是使用了与其他编程语言非常相似的控制流构造。最基本的是当然是有条件的if-else运营商,你已经看到上面的代码示例:

Dyalect(动态编程语言)

  else 子句是可选的,如果愿意,可以将其省略。

  Dy支持以while,do-while和for。形式的循环。while是其中最基本的-执行直到条件成立true:

Dyalect(动态编程语言)

  一while true { },除非你决定循环将永远执行break它的执行。do-while与该代码非常相似,唯一的例外是即使内部条件while不等于,它也将执行至少一次true。

  for 如果要遍历集合的元素,可以派上用场:

Dyalect(动态编程语言)

  当然,所有这些构造都具有比此处显示的功能更多的功能,但是您应该了解基本概念。

  一切都是一种表达

  Dy是一种以表达为中心的语言,这意味着Dy中的几乎所有内容都是一种表达。(顺便说一句,表达式总是产生一个值)。

  考虑以下代码示例:

Dyalect(动态编程语言)

  这段代码是正确的,但是Dy允许您以其他方式编写它:

Dyalect(动态编程语言)

  实际上,即使大括号内的代码块也可以单独用作表达式!

Dyalect(动态编程语言)

  循环也是表达式(甚至可以产生值):

Dyalect(动态编程语言)

  上面的代码计算为8。

  职能

  像许多其他语言一样,Dy支持一流功能的概念。这些功能可以视为常规值。您可以将它们存储在变量中,作为参数传递给其他函数,依此类推。例如:

Dyalect(动态编程语言)

  可以使用C#语法创建匿名函数:

  (x, y) => x + y

  但是,尽管在C#中此类函数与常规命名函数在根本上有所不同,但是在Dy中它们之间的唯一区别是缺少匿名函数的名称(并且可以通过将函数分配给变量来添加该名称):

Dyalect(动态编程语言)

  您可以通过本例中的两个函数的名称来引用它们,并以完全相同的方式使用它们。匿名函数甚至可以包含带有多个语句的主体:

Dyalect(动态编程语言)

  Dyalect中的函数可以具有可选参数。您可以通过为其分配默认值来使任何函数参数成为可选参数:

Dyalect(动态编程语言)

  函数参数的默认值必须是原始类型(整数,浮点数,字符,字符串或nil)。函数可以具有任意数量的可选参数(如果不需要,则可以没有)。

  Dyalect函数的另一个有趣的功能是参数。您可能已经注意到,所有函数参数都具有不同且唯一的名称。为什么不在函数调用中使用它们?Dyalect允许-结果是,您可以使用参数的名称以及它们在参数列表中的位置将参数传递给函数:

Dyalect(动态编程语言)

  当您通过名称传递参数时,可以按您喜欢的任何顺序提供名称,例如,您可以将函数调用sum(x, y, z)为sum(z:, y: x:)。您还可以混合使用位置参数和命名参数。但是,有一个重要的限制-位置参数应始终位于命名参数之前。换句话说,调用这样的函数是错误的:

  sum(x: 1, 2, 3)

精品推荐
同类推荐
相关下载
  • 最新排行
  • 最热排行
  • 评分最高
编程开发排行榜
实时热词