当前位置: 首页 > news >正文

wap网站如何推广网页设计和网站设计

wap网站如何推广,网页设计和网站设计,WordPress文章彩色标签,网站建好了怎么做才赚钱函数的应用 一、Shell递归函数 ​ 函数优点: ​ 函数在程序设计中是一个非常重要的概念,它可以将程序划分成一个个功能相对独立的代码块,使代码的模块化更好,结构更加清晰,并可以有效地减少程序的代码量。 ​ 递归…

函数的应用

一、Shell递归函数

​ 函数优点:

​ 函数在程序设计中是一个非常重要的概念,它可以将程序划分成一个个功能相对独立的代码块,使代码的模块化更好,结构更加清晰,并可以有效地减少程序的代码量。

​ 递归函数:

​ 如果一个函数在内部调用自身本身,这个函数就是递归函数。有很多数学问题都非常适合于采用递归的思想来设计程序求解,例如阶乘、汉诺(hano)塔等。

​ 很多人都曾经听说过fork 炸弹,它实际上只是一个非常简单的递归程序,程序所做的事情只有一样:不断fork 一个新进程。由于程序是递归的,如果没有任何限制,这会导致这个简单的程序迅速耗尽系统里面的所有资源

一)fork 炸弹

​ 在bash 中设计这样一个fork 炸弹非常简单:

.(){ .|.& };. 这就是fork炸弹的代码

​ fork炸弹的解释:

​ .():说明下面要定义一个函数,函数名为小数点,函数没有参数

​ {:表示函数体开始

​ .|.& :函数体真正要做的事情,首先它递归调用本函数,然后利用管道调用一个新进程(它要做的事情也是递归调用本函数),并将其放到后台执行

​ }:函数体结束

​ ;:不会执行什么操作,在命令行中用来分隔两个命令用

​ .:调用本函数

二)阶乘案例

​ 我们来计算阶乘n! = 1 x 2 x 3 x … x n,用函数fact(n)表示,可以看出:

​ fact(n) = n! = 1 x 2 x 3 x … x (n-1) x n = (n-1)! x n = fact(n-1) x n

​ 所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。

#!/bin/bashfunction fact(){if [ $1 -eq 1 ];thenreturn 1elsefact `expr $1 -1`reutrn `expr $1 \* $?`fi
}echo -n "请输入:"
read num
fact $numecho $?

二、Shell中脚本变量和函数变量的作用域

​ 在shell中定义函数可以使代码模块化,便于复用代码,不过脚本本身的变量和函数的变量的作用域问题可能令你费解

​ Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止,代码演示如下

​ 脚本变量v的作用域从被定义的地方开始,到shell结束。调用函数func的地方在变量v的作用域内,所以能够访问并修改变量v

#!/bin/bash
func()
{echo $v#修改v的值v=200
}
#定义v的值
v=100
#调用func方法
func
#打印v值
echo $v

​ Shell函数定义的变量默认是global的,其作用域从“函数被调用时执行变量定义的地方”开始,到shell结束或被显示删除处为止。函数定义的变量可以被显示定义成local的,其作用域局限于函数内。但请注意,函数的参数是local的

​ 结果解释:函数变量v默认是global的,其作用域从“函数被调用时执行变量定义的地方”开始,到shell结束为止。注意,不是从定义函数的地方开始,而是从调用函数的地方开始。打印命令在变量v的作用域内,所以能够访问变量v

#!/bin/bash
func()
{v=200
}
fun
cecho $v# 结果:200

​ 结果解释:函数变量v显示定义为local的,其作用域局限于函数内。打印命令在函数外,不在变量v的作用域内,所以不能访问变量v

#!/bin/bash
func()
{local v=200
}
func
echo $v#结果:空

​ 函数参数是local的,通过位置变量来访问。打印命令输出函数的第一个参数

#!/bin/bash
func()
{echo "param 1: $1"
}
func 100# 结果:param 1:200

​ 如果同名,Shell函数定义的local变量会屏蔽脚本定义的global变量

#!/bin/bash
func()
{echo $vlocal v=200echo $v
}
v=100
func
echo $v# 结果:100、200、100
http://www.15wanjia.com/news/160207.html

相关文章:

  • 建设网站公司兴田德润官方地址郑州网站建设七彩科技
  • 腾讯云做淘客网站郑州seo优化顾问
  • 孟州网站建设厦门官方网站建设
  • 网站降权查下企业标准信息公共服务平台
  • 做网站维护工资多少制作百度移动网站
  • 北京商标注册公司网站 seo 设置
  • 闵行做网站费用网站空间支持什么程序
  • 阿里云云市场网站建设要学好网站开发要会什么
  • 网站建设案例赏析网站开发总结与未来展望
  • 自己做游戏app的网站吗建设网站费用吗
  • 广州站在哪里erp系统介绍
  • 公司做网站需要哪些资料做一个小程序收费价目表
  • 中国空间站距离地面多少公里wordpress主题免费
  • 新农村建设专题网站装饰公司响应式网站建设案例
  • 有高并发,高访问量网站开发电商平面设计岗位职责
  • 网站优化成功案例上海百度推广开户
  • 理财产品网站开发文档宝应建设局网站
  • 腾讯云做视频网站自己建服务器做网站违法
  • ae模板下载网站湖南seo网站设计
  • 网站制作 商务广州的兼职网站建设
  • 网站建设验收使用情况做虚假网站判多少年
  • 网站建设服务58wordpress博客优点
  • 南宁建设网站培训石家庄机票网站建设
  • 安徽网站设计平台数据统计网站有哪些
  • 企业建立网站的必要性wordpress微信 缩略图
  • 一家专业做家谱的网站万网虚拟机wordpress
  • 曲阜网站制作上海网站建设广告语
  • 怎么做网站弹幕效果wordpress 匹配
  • 门户网站地方生活门户有哪些建筑模板规格型号
  • 番禺建设网站专家软件开发培训去哪个机构