Action

转载 2015年07月07日 23:28:44

之前学scala时有个不解的问题,现在在haskell里找到答案了

-- file: ch07/actions.hs
str2action :: String -> IO ()
str2action input = putStrLn ("Data: " ++ input)

list2actions :: [String] -> [IO ()]
list2actions = map str2action

numbers :: [Int]
numbers = [1..10]

strings :: [String]
strings = map show numbers

actions :: [IO ()]
actions = list2actions strings

printitall :: IO ()
printitall = runall actions

-- Take a list of actions, and execute each of them in turn.
runall :: [IO ()] -> IO ()
runall [] = return ()
runall (firstelem:remainingelems) =
    do firstelem
       runall remainingelems

main = do str2action "Start of the program"
          printitall
          str2action "Done!"

str2action 这个函数接受一个参数并返回 IO () ,就像你在 main 结尾看到的那样,你可以直接在另一个操作里使用这个函数,它会立刻打印出一行。或者你可以保存(不是执行)纯代码中的操作。你可以在 list2actions 里看到保存的例子,我们在 str2action  map ,返回一个操作的列表,就和操作其他纯数据一样。所有东西都通过 printall 显示出来, 而 printall 是用纯代码写的。

虽然我们定义了 printall ,但是直到它的操作在其他地方被求值的时候才会执行。现在注意,我们是怎么在 main 里把str2action 当做一个I/O操作使用,并且执行了它。但是先前我们在I/O Monad外面使用它,只是把结果收集进一个列表。

你可以这样来思考: do 代码块中的每一个声明,除了 let ,都要产生一个I/O操作,这个操作在将来被执行。

 printall 的调用最后会执行所有这些操作。实际上,因为Haskell是惰性的,所以这些操作直到这里才会被生成。

struts2 第一个程序 以及错误There is no Action mapped for action name hello 解决

Struts2使用步骤 1创建一个javaweb project 2添加struts2基本类库 3在web.xml中添加前端控制器 4在src文件夹下建立配置文件 struts.xml 5编写控制器a...
  • liang5603
  • liang5603
  • 2016年08月19日 23:48
  • 2091

Could not find action or result,There is no Action mapped for namespace / and action name hello_stru

修改action 的name后, 刷新出现异常,输入http://localhost:8077/工程名/(anctionname).弹出异常。 为什么,原因在于:...
  • democreen
  • democreen
  • 2011年03月09日 23:58
  • 5620

There is no Action mapped for namespace [/] and action name [login] associat...问题的另一个思路

阿萨
  • qsf1110
  • qsf1110
  • 2014年10月22日 15:54
  • 4708

There is no Action mapped for namespace [/] and action name [login] associate解决办法 .

There is no Action mapped for namespace [/] and action name [login] associate解决办法 .  今天闲着没事就写了一...
  • u013380777
  • u013380777
  • 2016年05月23日 15:21
  • 2121

C# Action<T> 使用

在使用 Action 委托时,不必显式定义一个封装只有一个参数的方法的委托。以下代码显式声明了一个名为 DisplayMessage 的委托,并将对 WriteLine 方法或 ShowWindows...
  • educast
  • educast
  • 2012年01月30日 15:16
  • 22581

Caused by: Action class [com.struts.action.LoginAction] not found 解决方法

刚学习Struts,自己写了个简单程序,一启动tomcat就报错,但是我按着ctrl点击struts.xml中com.struts.action.LoginAction也能定位到LoginAction...
  • tomcat_2014
  • tomcat_2014
  • 2015年05月28日 22:14
  • 3688

Linux中action命令

今天是7月1号,新的一月,加油,好好干。 在学习的过程中,遇到一个比较难以找到资料的问题,就是action linux内置的命令在查询的时候,需要用help去查询,比如你想查询cd命令,需要用he...
  • tongjinrui
  • tongjinrui
  • 2017年07月01日 10:00
  • 1273

SpringMVC 执行一个action之后跳转到下一个action

//创建请假条 @RequestMapping("/addLeave") public String addLeave(Leave leave){ //leave.setStatus(0); ...
  • zhengsaisai
  • zhengsaisai
  • 2016年10月26日 17:18
  • 1511

<action>元素属性parameter的作用

转发自:http://ocaicai.iteye.com/blog/1096275 1.简介: 没有struts之前,使用servlet,最常用的是 doGet,doPost,servic...
  • attack_breast
  • attack_breast
  • 2017年01月09日 13:40
  • 374

解决404和there is no action mapped for action的问题

首先,我要严重吐槽eclipse,我的是eclipseEE版本,使用起来大概就不如Myeclipse吧,导致各种问题, 这几天一直被404这个问题困扰,毕竟我只是个学Android的,跑来学习web...
  • Joson_Chou
  • Joson_Chou
  • 2016年04月23日 12:25
  • 2904
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Action
举报原因:
原因补充:

(最多只允许输入30个字)