榆木行动方法中的管道符号

时间:2015-06-30 09:17:10

标签: haskell elm

    fr = new FragmentOne();
    fm = getSupportFragmentManager();
    fragmentTransaction = fm.beginTransaction();
    fragmentTransaction.add(R.id.fragment_place,fr);
    fragmentTransaction.commit();

我不明白这种语法,

update action model =
    case action of
      Delete id ->
          { model | tasks <- List.filter (\t -> t.id /= id) model.tasks }

管道符号 { model | .......... } 在这里做了什么?

花括号|是什么意思?动作{}是否会返回任何值?

此代码取自elm的Todo tutorial

1 个答案:

答案 0 :(得分:6)

这是记录更新语法:http://elm-lang.org/docs/records#updating-records

{ model | tasks <- value }返回model条记录,并将tasks字段设置为新值。