zoukankan      html  css  js  c++  java
  • 对函数的推广

    现在,计算机领域里有很多各种各样的语言,比如汇编语言、高级语言、命令式语言、函数式语言、逻辑式语言、静态语言、动态语言、脚本语言等等等,这些语言花样繁多,各有各的不同,但是函数是它们共有的,而且函数的重要性就要细胞之对于世界所有的生物一样。

    从古至今的函数,它们都长的是同一个样子,都是函数名加参数,这应该是从数学里学习过来的。

     

    如果要对现在的函数改造一下会怎么样?肯定会引起程序巨大的改变。

     

    现在的函数局限在于,它的函数名只有一个字符串,所有的意思都要挤在这一个短短的字符串里,比如move(a),GetByNode(a,b,c)...

     

    现在我们把函数的定义改这样,函数是带有若干个参数的一个语句。

     

    下面举两个例子。

    (1)三元运算符"?:"的作用不小我们经常用,现在我们可以把它从语言里踢除,改用一个推广的函数If(a) Get (b) Else Get(c),这样更容易理解。

     

    (2)比如要定义一个函数,足球football以速度speed、角度angle、起点start移动到终点end,一般我们是这样定义的

    void move(Football football,int speed,int angle,Point start,Point end)

    ,我们用推广的函数就可以很好的定义

    (Football football)以速度(int speed)角度(angle)(Point start)移动到(Point end),

    使用时

    (f)以速度(s)角度(a)(start)移动到(end)

    绝对比

    move(f,s,a,start,end)要爽的多。

     

    推广的函数有一个缺点,就是用起来打字比较多,但是它这样更容易理解使用维护,大部分情况下完全可以代替文档注释

     

     

  • 相关阅读:
    MySql清空所有表数据【慎用】
    积分墙已死?积分墙冲榜失效?请看看别人怎么玩转积分墙!
    [转]小心PHP的类定义顺序与继承的问题
    [转]PHP中替换换行符
    [转]php的public、protected、private三种访问控制模式的区别
    [转]Zend Studio中将tab转换为4个空格
    PHP预定义常量
    PHP Unit资料收集
    『Python』setup.py简介
    『计算机视觉』Mask-RCNN_项目文档翻译
  • 原文地址:https://www.cnblogs.com/haiconc/p/2524105.html
Copyright © 2011-2022 走看看