自定义委托实现各种算法

func algorithm(num1:
Double, num2:
Double, sign: Character ) ->
Double {

var number:Double

switch sign {

case
"+":

number = num1 + num2

case
"-":

number = num1 - num2

case
"*":

number = num1 * num2

case
"/":

if num2 ==
0 {

number =
0

}
else {

number = num1 / num2

}

default:

number =
0

}

return number

}

//自定义委托实现各种算法

let addNumber: (Double,
Double,
Character) ->
Double =
algorithm

addNumber(100,
10,
"+")

let subtractNumber: (Double,
Double,
Character) -> Double =
algorithm

subtractNumber(100,
10,
"-")

let mulNumber: (Double,
Double,
Character) ->
Double =
algorithm

mulNumber(100,
100,
"*")

let divideNumber: (Double,
Double,
Character) -> Double =
algorithm

divideNumber(100,
10,
"/")

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 13:56:11

自定义委托实现各种算法的相关文章

EventHandler委托与自定义委托

http://blog.csdn.net/uuxyz/article/details/7175248 自定义委托: //1. public delegate void UcSavedEventHanler(bool isSuccess); //2. public event UcSavedEventHanler OnUcSaved; //3. UcEditor1(用户控件).OnUcSaved+= new UcSavedEventHanler(UcEditor1_OnUcSaved); void

自定义委托类型 - .Net自带委托类型

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递. 与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用. 一.自定义委托类型 1.语法结构:访问修饰符 delegate 返回类型 委托类型名称(参数列表); 例如: // 声明一个委托类型,两个参数均为int类型,返回值为int类型 public delegate int Calc(int a, int b);自定义的委托可以不带参数,也可以没有返回值. 接下来我们看一个例子怎么使用委托 1.

26.QT-模型视图之自定义委托

在上一章学习 25.QT-模型视图 后,本章接着学习视图委托 视图委托(Delegate)简介 由于模型负责组织数据,而视图负责显示数据,所以当用户想修改显示的数据时,就要通过视图中的委托来完成 视图委托类似于传统的MVC设计模式里的Controller(控制器)角色 Model(模型) - 负责数据组织 View(视图) - 负责数据显示 Controller(控制器) - 负责用户输入,并处理数据 初探自定义委托类  委托属于视图的子功能 视图主要负责组织具体数据项的显示方式(是列表方式,还

shiro自定义realm支持MD5算法(六)

1.1     散列算法 通常需要对密码 进行散列,常用的有md5.sha, 对md5密码,如果知道散列后的值可以通过穷举算法,得到md5密码对应的明文. 建议对md5进行散列时加salt(盐),进行加密相当 于对原始密码+盐进行散列.(盐就相当于加入一个随机数) 正常使用时散列方法: 在程序中对原始密码+盐进行散列,将散列值存储到数据库中,并且还要将盐也要存储在数据库中. 如果进行密码对比时,使用相同 方法,将原始密码+盐进行散列,进行比对. 1.2 MD5测试 package cn.qlq.

C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法

使用C#实现加减乘除算法经常被用作新手练习.本篇来分别体验通过委托.接口.匿名方法.泛型委托来实现. 使用委托实现 加减乘除拥有相同的参数个数.类型和返回类型,首先想到了使用委托实现. //创建一个委托 public delegate decimal MathOperation(decimal left, decimal right); //创建方法参数和返回结果符合委托的定义 public static decimal Add(decimal left, decimal right) { re

QTableView使用自定义委托(QItemDelegate)

需要在表格中绘制流程图,主要有箭头,方向,颜色,字符串,由于QTableView没有可用的绘制函数,所以需要自己去定义. 委托(delegate)继承QItemDelegate,模型(model)继承QAbstractTableModel,表头(headerview)继承QHeaderView,表(table)继承QTableView 这里只实现绘制显示功能,如果需要进行编辑还需另外重写createEditor setEditorData setModelData 函数 如下是实现效果图 1 /

shiro 自定义 密码校验hash算法

Shiro 自定义密码校验: 两步: 1.自定义类MyCredentialsMatcher实现CredentialsMatcher接口 2.实现boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info)方法 第一个参数是登陆的用户 第二个一般是数据库里面的用户( 也就是 protected AuthenticationInfo doGetAuthenticationInfo()方法返回的实体和凭据

复习扩展方法 涉及委托,这里我使用自定义委托类型 public delegate bb MyFunc<in T,out bb> (T arg)

using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks; namespace ConsoleApplication8{ public static class ListExt { public delegate bb MyFunc<in T, out bb>(T arg); public sta

C#——委托(1)

什么是委托?还记得C/C++语言里的函数指针吗?委托就是他的"升级版".先看一个简单的小程序: 1 # include<stdio.h> 2 3 typedef int(*Calc)(int a, int b);//使用typedef把他定义成一种数据类型 4 5 int Add(int a,int b) 6 { 7 int result = a + b; 8 return result; 9 } 10 11 int main(void) 12 { 13 int x = 1