热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

是"a->b->(a->b->c)->c"应用两个参数标准功能概念吗?

如何解决《是"a->b->(a->b->c)->c"应用两个参数标准功能概念吗?》经验,为你挑选了1个好方法。

我遇到了一个带签名的函数的需要,用于'a -> 'b -> ('a -> 'b -> 'c) -> 'c在管道时应用两个参数:

let apply2 x y f =
  f x y

我需要这个因为我正在使用一个函数

myFun : MyType -> TypeA -> TypeB -> ResultType

我在另一个函数中使用它:

let useCase someValue (valueA: TypeA) (valueB: TypeB) =
  someValue
  |> ...
  |> toMyType
  |> myFun
  |> apply2 valueA valueB

apply2符合条件,但我不能动摇我可以使用内置函数或运算符的感觉,或者我错过了一些更基本的方法(禁止使用lambda,在这种情况下恕我直言的内容更糟).请注意,我不能轻易切换的参数顺序myFun(这是一个长颈鹿HttpHandler,所以最后两个参数必须HttpFuncHttpContext,由指定的TypeATypeB以上).

apply2具有签名的函数我已经描述了在函数式编程中使用的公平的东西,还是我错过了一些明显的东西?如果这是一个众所周知的概念,它有更好的名字吗?



1> hvester..:

在我看来,如果你用中间值绑定代码会更清晰let.

let useCase someValue (valueA: TypeA) (valueB: TypeB) =
    let myValue =
        someValue
        |> ...
        |> toMyType
    myFun myValue valueA valueB

您也可以按如下方式使用反向管道

let useCase someValue (valueA: TypeA) (valueB: TypeB) =
    someValue
    |> ...
    |> toMyType
    |> myFun <| valueA <| valueB


推荐阅读
  • 一.什么是openGLOpenGL被定义为“图形硬件的一种软件接口”。从本质上说,它是一个3D图形和模型库,具有高度的可移植性,具有非常快的速度。二.管线管线这个术语描述了open ... [详细]
  • fileuploadJS@sectionscripts{<scriptsrc~Contentjsfileuploadvendorjquery.ui.widget.js ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
  • WPF之Binding初探
      初学wpf,经常被Binding搞晕,以下记录写Binding的基础。首先,盗用张图。这图形象的说明了Binding的机理。对于Binding,意思是数据绑定,基本用法是:1、 ... [详细]
  • pytorch Dropout过拟合的操作
    这篇文章主要介绍了pytorchDropout过拟合的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完 ... [详细]
  • Pipeline支持两种语法:Declarative(在Pipeline2.5中引入)和ScriptedPipeline语法:pipeline{*insertDeclarative ... [详细]
  • IhaveaC++projectinUbuntu12.04.Toruntheprojectthemakefilerequiresthefollowingfiles: ... [详细]
  • 如何解决《text/html模板包中的"范围"操作和"管道"说明.Golang》经验,为你挑选了1个好方法。 ... [详细]
  • HttpContext.Current如何处理IIS管道中的每个请求?
    如何解决《HttpContext.Current如何处理IIS管道中的每个请求?》经验,为你挑选了1个好方法。 ... [详细]
  • 如何解决《为什么在.ps1与.psm1文件中$_的行为有所不同?》经验,为你挑选了1个好方法。 ... [详细]
  • 如何解决《powershell在什么条件下展开管道中的项目?》经验,为你挑选了1个好方法。 ... [详细]
author-avatar
刘惠雯661556
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有