学习
实践
活动
专区
工具
TVP
写文章

Fortran For Fun之纯函数 递归函数 逐元函数

Fortran中存在几种特殊的函数或子程序,这些函数或子程序需要在定义时特殊说明。主要有以下三种特殊程序

pure程序 (纯程序)

recursive程序 (递归程序)

elemental程序 (逐元程序)

pure 程序

pure程序是不造成任何副作用的程序,即不能对输入参数以及模块中的数据进行修改,局部变量定义时不能初始化,也不能有save属性。很多函数都可以定义为pure 函数。

该程序中定义了add纯函数,作用是将两个字符合起来,相当于//符号, 可以利用该函数重载 +,使文字合并操作与 python 一致。

结果

recursive 程序

递归程序是不断调用自身的程序,它一定是一个纯程序

该程序中定义了 fact 递归函数,求一个整数的阶乘。

结果

elemental 程序

elemental程序的形参是标量,但输入参数可以是标量也可以是数组,如果是数组,则对数组中的每一个元素调用该程序。逐元程序也必须是纯函数。

该程序中定义了将字符转换为整数的逐元函数to_int和将字符转化为实数的逐元函数to_real。

结果

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180403G1NW1300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

同媒体快讯

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券