C语言指针注解

C语言指针实例

指针的类型可以是int,double,float,struct …. 决定指针内部存放的数据大小,
如果定义的是一个数组,类型可以让编译器 在p++是跳多少个大小的地址

函数式程序设计为什么至关重要
Why Functional Programming Matters
函数式程序设计为什么至关重要

作者: John Hughes
翻译: CloudiDust [http://blog.csdn.net/ddwn/]
[在网上也可以找到其他同学的翻译哦,我翻译完了才看到的,呵呵。]

原文地址:http://www.md.chalmers.se/~rjmh/Papers/whyfp.html

为什么函数式编程至关重要

函数式程序的特点

  1. 函数式编程不包含任何赋值语句(也就是没有变量),所有的值从一开始就确定了
  2. 函数式编程不包含副作用,除了计数它本身的值以外不产生任何副作用,这一特性消灭了bug的一个主要来源
  3. 函数式编程值是一定的,那么执行顺序就不在重要,所以它可以在任何时候被执行,这一过程将程序员从控制流中解放
  4. 由于在任意时候求值,程序员可以随性所欲的用变量值来代替变量表达式,反之也可以用变量表达式代替变量的值。程序是引用透明,可以更容易的数学化控制
  5. 函数是一等公民,函数式编程中努力用函数来表达所有的概念,完成所有的操作
  6. 变量的不变性,赋值操作低人一等。简单将在scala函数是编程中只用val,不用var

博文收藏

博客收藏

函数式编程

什么是函数式编程
函数式代码是对“映射的描述”,输入x和输出y的映射关系 y=f(x)
函数式编程在 描述是什么
命令式编程在 应该怎样做

其他

lambda演算python实现[二]之数字

原文出处:lambda演算中的数字

python实现

数字和加法的函数表示

lambda演算python实现[三]之Bool值和分支

原文出处:Lambda演算中的布尔值和选择

python实现

用python定义Bool值和bool运算如下

Chisel 常见问题

  • Q1:

  • Q1:

Scala 避坑大法

  • 单引号双引号是有区别的
    单引号表示:char字符
    双引号表示:string字符

  • scala 为什么不建议用return

    1. return是命令时语句,Scala鼓励函数式编程,函数式在描述关系,而不是高速计算机怎么做
    2. return会破坏Scala的类型推断,加上return 你得显式的声明返回类型
    3. return在有些情况下使返回含义模糊
    4. scala实际上并没有真正意义上的return语句,而是又抛出异常的语法糖包裹实现的
  • 如何定义一个无限长的序列 Infinite Stream
    无限长的序列有什么用

函数是编程的闭包和迭代器理解

什么是闭包?

闭包是一类特殊的函数。如果一个函数定义在另一个函数的作用域中,并且函数中引用了外部函数的局部变量,那么这个函数就是一个闭包。

1
2
3
4
5
6
7
8
9
10
11
12
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum

$ lazy_sum(1,2,3,4,5)
<function sum at 0x10452f668>
$ lazy_sum(1,2,3,4,5)()
15

Hexo 技巧收录

草稿功能

草稿相当于很多博客都有的“私密文章”功能。

1
$ hexo new draft "new draft"

会在source/_drafts目录下生成一个new-draft.md文件。但是这个文件不被显示在页面上,链接也访问不到。也就是说如果你想把某一篇文章移除显示,又不舍得删除,可以把它移动到_drafts目录之中。
如果你希望强行预览草稿,更改配置文件:

1
render_drafts: true

或者,如下方式启动server:

1
$ hexo server --drafts

下面这条命令可以把草稿变成文章,或者页面:

1
$ hexo publish [layout] <filename>