Nim-hello world Nim - Hello world!这段时间一直在玩Haskell, 有点小腻。换个编程语言看看调节一下口味,本系列是对官方文档《 Tutorial, part 1》《 Tutorial, part 2》和《Tutorial, part 3》三部曲进行学习,然后增加了本人的一些思索过程,可全当作是官方学习手册的汉化版本。话不多说,我们直接开始吧。上手,先来一个基本的小程序,问你的名字是什么,然后 2023-11-23 #Nim
Haskell-柯里函数 Haskell - 柯里函数柯里化(Currying),又称部分求值(Partial Evaluation),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。核心思想是把多参数传入的函数拆成单参数(或部分)函数,内部再返回调用下一个单参数(或部分)函数,依次处理剩余的参数。比如: 12const auto result 2023-11-21 #Haskell
Haskell - 递归 你好,递归递归是指在定义的应用自身的方式,将白了就是函数会自己调用自己。“从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的是什么呢:从前有座山,山里有座庙……”数学定义中存在的递归随处可见,比如斐波那契数列,杨辉三角形等。递归在函数式语言中能够发挥真正的威力,因为在函数式编程中,重要的不是给出求解的步骤,而是定义问题与解的描述。在下文会使用Haskell和C++两种语言进行描述。 求列 2023-11-21 #Haskell
Haskell-case Haskell - case函数中模板匹配的本质实际上就是case语句的语法糖。case语句在函数式编程中用途往往比命令式要大很多,因为这样可以很流畅的定义出一个没有指令流程的函数,使得函数的定义更加流畅。举一个简单的例子 123firstLetterV1 :: [a] -> afirstLetterV1 [] = error "Null list"firstLetter 2023-11-21
Haskell - let Haskell - let我们可以在函数中使用where比较轻松的在函数底部绑定变量,他对包括所有guard在内的整个函数可见。可我们还想要更多的功能,比如函数处理过程中可能需要一些局部变量,或者做一些临时运算,那么let可以完成这个功能。 12345678cylinder :: Double -> Double -> Doublecylinder r h = let side 2023-11-21 #Haskell
java小实验-初步使用类 java小实验-初步使用类定义一个学生类,包含的成员有:姓名,学号,绩优成绩,总人数,平均绩优成绩等数据成员,和数据的getter 和setter方法,以及toString 方法,合理使用 public, private, static,final等限定词。主函数中创建5个学生对象,输出每个学生的个性信息,以及全部学生对象的全局信息。 Student.java 123456789101112131 2023-11-18 #java #java-example
Haskell - where Haskell - where 引入一个小案例 123456bmiTest :: Double -> Double -> StringbmiTest weight height | weight / height ^ 2 <= 18.5 = "Underweight" | weight / height ^ 2 <= 25 = "N 2023-11-16 #Haskell
Haskell - guard Haskell - guardHaskell - guard 在Haskell中,guard是一种编程技巧,用于在满足某个条件时执行一段代码,否则跳过该代码块。guard通常用于控制流语句(如if、elif和else)中,用于在满足某个条件时执行相应的代码。除了使用其他语言基本都会存在的控制流语句之外,还可以使用**|** 来进行条件分支的处理,可读性更高而且与模式匹配契合的非常好 1234567 2023-11-16 #Haskell
Haskell - 模式匹配 Haskell - 模式匹配模式匹配引子:假设我们要一个函数,这个函数可以处理一个数是不是7。按照之前的思路,我们可以这样写: 123isSevenV1 x = if x == 7 then "Is seven" else "Is not seven"main = do print $ isSevenV1 那么如果是判断一个数的是0-10中的哪一个,是否这样 2023-11-16 #Haskell
C 顺序表结构 C语言顺序表结构顺序表,也称作线性表,是数据结构的一种,由一系列数据元素组成,每个数据元素在内存中按顺序存放。顺序表中的数据元素可以是相同类型的数据,也可以是不同类型的数据。 在计算机科学中,顺序表通常用数组表示,数组是一个由相同类型的数据元素组成的集合。数组中的每个元素都存储在一个连续的内存地址中,并且可以通过它们的索引来访问。 例如,下面是一个用Python表示的顺序表,其中包含整数:my_l 2023-11-15 #C #C-example #Data-Structure