iris入门(Elixir基础概念讲解)
iris入门(Elixir基础概念讲解)iex(6)> true true iex(7)> true === false false 下一个数据类型是布尔值。这将是您的标准布尔数据类型,为您提供真假值。现在我们已经建立了一个项目,让我们开始看看构成 Elixir 的数据类型。我们将研究的前两种数据类型是整数和浮点数。这些都是数字数据类型,但它们永远不能严格相等。任何整数都被认为是一个整数,而浮点数是在该数字后面具有任何给定小数位数的数字。这里快速演示了这两种数据类型如何在操作中一起使用,但最终还是不同的。iex(1)> 1 1 2 iex(2)> 1.5 1.5 3.0 iex(3)> 1 1.5 2.5 iex(4)> 4 * 4 16 iex(5)> 3 === 3.0 false
每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。在我开始写这篇博客之前,我认为用一个简短的声明作为开头是明智的。作为一个处于 JavaScript 学习旅程早期阶段的人,冒险进入未知领域似乎有点为时过早。该领域特别是另一种编程语言,我可能没有业务探索。但我相信这将是有益的。了解另一种语言的内部工作原理并理解它的语法和数据类型(即使是在基本层面上)可能会对如何以及在何处解决我的 JavaScript 和一般编码的弱点有所了解。
elixir 是 Jose Valim 在 2012 年发布的一种函数式编程语言。从那时起,它已经获得了相当多的粉丝群,并被摩托罗拉、Pinterest 和 Discord (以及许多其他公司)等公司使用。它运行在 Erlang Beam 虚拟机之上,该虚拟机实际上是在 80 年代开发的,用于扩展不断增长的电话切换需求。Elixir 的创建本质上是为了让日常开发人员可以使用 Erlang 技术。Elixir 具有受 Ruby 启发的最小且动态类型的语法,这使得它比其他语言更容易上手。此外,它的 Phoenix Web 框架负责创建数以千计的全栈 Web 应用程序。
在您的机器上安装 Elixir 轻而易举。只需访问 Elixir 安装页面并在安装列表中找到您的操作系统。对于 MacOS,您只需在终端中运行命令,或者对于 Windows,遵循一系列快速安装提示,瞧,您已经安装了 Elixir。不需要路径配置或类似的东西,只需直接安装。要仔细检查安装过程是否成功,请返回您的终端并确保使用以下命令安装了正确的版本:elixir -v. 在撰写本文时,Elixir 目前的版本为 1.14.0。要开始一个新项目,请将您的终端设置为所需的目录,然后使用命令mix new "project name",并且必要的文件将被加载到您的项目文件夹中,包括自述文件、gitignore、库和其他基础知识。
现在我们已经建立了一个项目,让我们开始看看构成 Elixir 的数据类型。
我们将研究的前两种数据类型是整数和浮点数。这些都是数字数据类型,但它们永远不能严格相等。任何整数都被认为是一个整数,而浮点数是在该数字后面具有任何给定小数位数的数字。这里快速演示了这两种数据类型如何在操作中一起使用,但最终还是不同的。
iex(1)> 1 1 2 iex(2)> 1.5 1.5 3.0 iex(3)> 1 1.5 2.5 iex(4)> 4 * 4 16 iex(5)> 3 === 3.0 false
下一个数据类型是布尔值。这将是您的标准布尔数据类型,为您提供真假值。
iex(6)> true true iex(7)> true === false false
我们甚至可以将值包装在 is_boolean 函数中,以评估该值是否实际上是布尔数据类型。
iex(8)> is_boolean(true) true iex(9)> is_boolean("a") false
Elixir 中的字符串必须使用双引号分隔。(请参阅后面的单引号。)除此之外,Elixir 中的字符串的行为与 JavaScript 中的字符串非常相似。它们可以与 or<>运算符连接在一起,并且 Elixir 还通过将字符串值插入插值语法来支持字符串插值:#{string value}. 要打印字符串值,只需将您的值包装在IO.puts(string value)函数中。其他字符串函数包括String.length(string value)和String.upcase(string value)。
iex(10)> string = "dog" "dog" iex(11)> "The #{string} ran fast" "The dog ran fast" iex(12)> "The " <> "#{string} " <> "ran fast" "The dog ran fast" iex(13)> IO.puts("Hello World!") Hello World! iex(14)> String.length("hello") 5 iex(15)> String.upcase("hello") "HELLO"
Elixir 中的列表类似于其他语言中的数组,但它们并不完全相同。从美学上讲,它们是相同的,但 Elixir 中的列表的行为更类似于链表数据结构。列表的第一个元素被认为是“头”,其余元素被认为是“尾”。可以使用hd(list)andtl(list)函数访问列表中的第一个和剩余的值。列表也是不可变的,这意味着无法编辑或更改原始列表。
iex(16)> list = [2 4 6 8] [2 4 6 8] iex(17)> hd(list) 2 iex(18)> tl(list) [4 6 8]
元组有点类似于列表。但是,它们用大括号而不是方括号来表示。然而,它们也是不可变的。真正的区别在于列表在内存中作为链表进行排序。这意味着访问列表末尾是一个线性操作,因此我们需要遍历整个列表来确定其长度或大小。另一方面,元组连续存储在内存中。所以访问一个元素可以是一个非常快速的操作。但是,向元组添加或更新元素可能会占用大量内存,因为它需要创建一个新元组。
iex(19)> {"hello" "world!"} {"hello" "world!"} iex(20)> tuple = {"hello" "world!"} {"hello" "world!"} iex(21)> tuple_size(tuple) 2 iex(22)> elem(tuple 0) "hello" iex(23)> elem(tuple 1) "world!"
最后我们到达了原子!原子类似于 Ruby 中的符号,有点类似于在 JavaScript 中使用 const 关键字定义变量。原子是常量,其名称也是它们的值。换句话说,他们将永远代表他们所代表的东西。原子也可以表示布尔值,如下所示。
iex(24)> :hello === :hello true iex(25)> :hello === :world false iex(26)> true === :true true iex(27)> is_atom(false) true
如果您想知道我的代码前面的“iex”是什么,那就是 Elixir 交互式 shell。它是内置的 shell,允许您编写语句并执行它们,从而产生输出。
因此,有一些基本的基础知识可以让您的脚趾浸入 Elixir!
我希望继续进一步探索 Elixir,并希望将来使用这种语言构建一些项目。