这是我项目的结构
type A{
t1;
t2;
}
and B = var of A
and C = B list
type D = C list
现在我有一个只有D作为参数的函数。每次调用此函数时,我都需要为t2分配一个唯一值。
我想我不能直接为t2分配一个值,而是需要返回一个新值为t2的新类型。我认为这是函数式语言的工作原理
我的问题是我不知道如何使用此功能
来访问该值我还在学习语法,如果有人能给我一个例子,那就太棒了
答案 0 :(得分:2)
你的问题根本不清楚。
如果您想要成为可以更改字段的记录,则可以使用关键字mutable
。
如果您有type a = { t1 : int ; mutable t2 : int }
,那么如果x
的值为a
类型,则可以使用语法x.t2 <- 9
。
如果我理解正确,你想做的是:
type a = { t1 : int ; mutable t2 : int }
type b = Var of a
type c = b list
type d = c list
let func d =
List.iter (fun c -> List.iter (function (Var a) -> a.t2 <- a.t2 + 1) c) d
哪些可以改写(通过eta-conversions)
let func = List.iter (List.iter (function (Var a) -> a.t2 <- a.t2 + 1))
此函数将迭代c
中的每个d = c list
,并且每个{h}将迭代所有b
Var a
,并修改t2
{% if userprofile.is_autenticated %}
<li><a href="{% url 'kerajinan.views.profile' %}"><i class="fa fa-user"></i>{{ user.get_username }}</a></li>
<li><a href="{% url 'django.contrib.auth.views.logout' %}">Sign Out</a></li>
{% else %}
<li><a href="{% url 'django.contrib.auth.views.login' %}"><i class="fa fa-lock"></i> Login</a></li>
{% endif %}
<li><a href="{% url 'django.contrib.auth.views.login' %}"><i class="fa fa-lock"></i> Login</a></li>
}。