akh.state中文文档|akh.state js中文教程|解析

npm npmdoc 2年前 (2022-01-01) 443次浏览

akh.state中文文档|akh.state js中文教程|解析

安装命令:npm i akh.state

用于Akh Javascript Monad 库的State Monad 和 Monad Transformer

StateT单子转换添加状态单子。基本类型State自己提供状态。

# To use as standalone package 
$ npm install --save akh.state
 
# To use as part of akh library 
$ npm install --save akh

应用程序接口

StateTState实现 Fantasy Land] fl monad、monoid、functor 和 applicative functor 接口。


梦幻之地标志

// State monad
require('akh.state').State
require('akh').State
 
// State monad transformer
require('akh.state').StateT
require('akh').StateT

State.run(m, s), m.run(s)

m使用状态s和返回状态、值对执行有状态计算

const State = require('akh.state').State
 
const c = State.of(1)
    .chain(x => State.modify(s => s + x))
    .chain(x => State.of('val'))
 
run(c, 's') === {'value': 'val', 'state': 's1'}

State.eval(m, s), m.eval(s)

m使用 state执行有状态计算s并返回结果值。

State.eval(c, 's') === 'val'

State.exec(m, s), m.exe(s)

m使用 state执行有状态计算s并返回结果状态。

State.eval(c, 's') == 's'

StateT.run(m, s)

State.run但对于转换类型相同

StateT.evalT(m, s)

State.eval但对于转换类型相同

StateT.exec(m, s)

State.exec但对于转换类型相同

状态接口

所有状态操作和方法都在类型及其实例上定义。

M.get

获取当前状态。

const State = require('akh.state').State
 
State.get.run('my state') === { value: 'my state', state: 'my state' }

M.put(s)

将当前状态设置为 s

M.modify(f)

修改当前状态f,将当前状态映射到新状态。

贡献

欢迎投稿。

开始:

cd akh-state
$ npm install # install dev packages 
$ npm test # run tests 
项目贡献人员列表:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:akh.state中文文档|akh.state js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}