jjzjj

windows - 如何在 Windows 中制作上下文菜单子(monad)菜单?

我一直在编写实用程序并通过*的Shell键上的Regedit将它们映射到上下文菜单,但我不知道如何像一些更流行的实用程序那样制作子菜单。例如,如果我有三个脚本来将文件移动和重命名到三个不同的文件夹,那么现在我有三个不同的上下文菜单条目。我更希望有一个名为“移动和重命名...”的扩展到这三个。 最佳答案 您可以通过注册表、WIN7创建上下文菜单的子菜单,如所见hereBackupyourregistryfirstisrecommended!此示例将带有单个命令的子菜单放入任何文件(不是文件夹或桌面)的右键单击上下文中。菜单:[HKEY

c# - 是否已经内置了像这样的功能性 C#/.NET 结构? g(h()), 或

publicstaticFuncTo(thisFuncg,Funch){return()=>h(g());}publicstaticFuncToIdentity(thisTt){return()=>t;}我有时会在延迟评估时使用这些和其他方法。这些是否已经在.net库中?编辑:这是一个用法示例:publicstaticstringSuffixColumn(thisstringv,stringsuffix,intcolumns){returnv.ToIdentity().ToScrubbedHtml().ToFormat(()=>"{0}"+suffix.ToLower().PadLef

c# - Monadic .NET 类型

InagreatseriesofpostsEricLippert为.NET类型概述了所谓的“Monad模式”,这些类型的行为有点像monad并为其中一些类型实现return和bind。作为一元类型的例子,他给出了:NullableFuncLazyTaskIEnumerable我有两个问题:我明白了Nullable有点像Maybe在Haskell中绑定(bind)多个Maybeactions表示一组可能在任何时候失败的操作。我知道列表monad(IEnumerable)代表非确定性。我什至有点明白什么Func作为monad(Readermonad)。Lazy的单子(monad)语义是什么

c# - 对 IEnumerable<T> 以外的类型(monads?)进行操作的 LINQ 查询表达式——可能的用途?

我正在看书Real-worldfunctionalprogrammingbyTomasPetricekandJonSkeet我很难消化关于计算表达式的部分1)(又名monad)。通过这本书,我了解到—与我以前的经验相反—LINQ查询表达式不限于IEnumerable,但也可以处理其他自定义类型。这对我来说似乎很有趣,我想知道是否存在查询表达式语法(fromxin...select...)非常适合的场景。一些背景信息:显然,此类自定义类型称为计算类型,它们被描述为与monadsinHaskell本质上相同的事物。.我一直无法理解monad到底是什么,但根据这本书,它们是通过称为bind和

c# - IO monad 在像 C# 这样的语言中有意义吗

在花了很多时间阅读和思考之后,我想我终于掌握了monad是什么、它们如何工作以及它们有什么用处。我的主要目标是弄清楚monad是否可以应用于我在C#中的日常工作。当我开始学习monad时,我的印象是它们很神奇,它们以某种方式使IO和其他非纯函数变得纯。我理解monad对于.Net中的LINQ之类的东西的重要性,并且Maybe对于处理不返回有效值的函数非常有用。我也很欣赏限制代码状态和​​隔离外部依赖的需要,我希望monad也能帮助解决这些问题。但我最终得出结论,用于IO和处理状态的monad是Haskell的必需品,因为Haskell没有其他方法可以做到这一点(否则,你无法保证顺序,并

javascript - JavaScript 中的单子(monad)?

使用Monad的示例JavaScript代码看起来如何?我问是因为如果我能看到一个代码示例(并且JavaScript是一种简单的函数式语言,它可能是学习它的最佳语言),对Monad的理解会更清楚。 最佳答案 我将从用JavaScript编写您自己的monad开始。listmonad是一个很好的起点;我发现它是迄今为止最有用的。只需定义执行以下操作的函数:创建一个给定项目的列表(称之为mreturn)。创建一个空列表(称之为mzero)。将一个列表附加到另一个列表(称为mplus)。应用一个函数来转换给定列表中的每个元素(调用此map

javascript - 函数式响应式(Reactive)编程 (FRP) 可以用 monad 表达吗?

我一直在阅读FunctionalReactiveProgramming,虽然我没有在任何语言中广泛使用monad,但我情不自禁地在FRP设计中无处不在看到它们。Thisquestion'sanswers对什么是函数式响应式(Reactive)编程有一些精彩的描述,我不会在这里重复。基本上,FRP会在随时间变化的值之间建立关系。那么这不能用单子(monad)表示吗?将需要随时间修改的值的代码封装在monad中,将其称为Signal,然后像这样使用这些信号(为简单起见,使用Haskelldo-notation)。domx>=liftMsin--dosomestuffwiththeseval

javascript - JS Monad 单元函数

我正在努力理解JavaScript中的单元函数。特别是因为让我“得到”monad(或者至少我认为)的是Promise对象,以及then总是返回一个新的Promise,无论你传递给then什么函数,据我所知,它等同于haskell中的bind或>>=。这对我来说完全有意义,因为它可以确保您的所有功能都在“monad宇宙”中执行,可以这么说。让我感到困惑的是道格拉斯·克罗克福德(DouglasCrockford)的“单子(monad)和性腺”演讲。在他的实现中,bind直接返回转换函数的结果,而不检查结果本身是否是monad。这与Promises的then方法冲突,因为then总是返回一个

java - 如何将 Option<Try<Foo>> 翻转为 Try<Option<Foo>>

我有一个Try>.我要flatMapFoo进入Bar,使用它使用可能会失败的操作。如果我的Option不是失败是一个Option.none(),(并且Try成功),在这种情况下,没有什么可做的。所以我有这样的代码,它确实有效:Try>myFlatMappingFunc(OptionfooOpt){returnfooOpt.map(foo->mappingFunc(foo).map(Option::of)/*ew*/).getOrElse(Try.success(Option.none());//doubleew}TrymappingFunc(Foofoo)throwsIOExcepti

java - 在 Java 8 中实现 Monad

我正在尝试在thisarticle之后在Java8中实现一个Monad接口(interface)但是我有以下编译错误发现2个错误:File:FunctorsMonads.java[line:36]Error:FOptionalisnotabstractanddoesnotoverrideabstractmethodflatMap(java.util.function.Function>)inMonadFile:FunctorsMonads.java[line:50]Error:nameclash:flatMap(java.util.function.Function>)inFOptio