gpt4 book ai didi

f# - 在 F# 中使用多行命名参数调用方法

转载 作者:行者123 更新时间:2023-12-05 01:28:56 26 4
gpt4 key购买 nike

我有一些 F# 代码,它调用一个用 C# 编写的带有大量参数的方法。

为了使事情清晰易读,我在调用方法时使用命名参数:

let request = Models.UserService.CreateUserRequest(
email = "email@example.com",
password = "password",
title = "title",
firstname = "firstname",
lastname = "lastname",
nickname = "nickname",
locale = "locale",
birthDate = "birthdate",
currency = "USD",
ipAddress = "127.0.0.1",
address = address,
mobilePhone = "+1 123 456 7890"
)

但是,我收到有关缩进的警告:
warning FS0058: Possible incorrect indentation: this token is offside of context started at position (30:19). Try indenting this token further or using standard formatting conventions.

显然,如果我不使用命名参数或将所有内容放在一行中,警告就会消失。但我想以清晰易读的方式格式化它。

有没有办法在 F# 中的多行上格式化方法调用而没有警告?

最佳答案

轻量级语法的正式描述包含在 F# language spec 中。 ,您所追求的特定功能称为越位上下文。这将允许您减少对最后一个上下文的列加上一个或多个附加列的缩进。越位上下文将在 = 之后立即遇到Let 中的分配上下文,以及在 Paren 中的开头括号之后语境。

实际上,您可以使用这样的缩进:

let request =
Models.UserService.CreateUserRequest(
email = "email@example.com",
password = "password",
... )

关于f# - 在 F# 中使用多行命名参数调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53069151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com