我在F#中弄乱,试图编写一个可以带a int list
或a 的函数string list
。我编写了一个逻辑上通用的函数,其中我只能修改参数的类型,并且只能同时使用两种类型的列表。但是我不能一概而论地定义两者兼而有之。
这是我的函数,没有类型注释:
let contains5 xs =
List.map int xs
|> List.contains 5
Run Code Online (Sandbox Code Playgroud)
当我尝试对函数进行注释以采用通用列表时,会收到警告FS0064: the construct causes the code to be less generic than indicated by the type annotations
。从理论上讲,我不需要对此进行注释即可,但是无论如何我还是尝试过。
我可以将其编译为两个单独的文件,其中一个
let stringtest = contains5 ["1";"2";"3";"4"]
Run Code Online (Sandbox Code Playgroud)
和另一个
let inttest = contains5 [1;2;3;4;5]
Run Code Online (Sandbox Code Playgroud)
在每个这些文件中,编译成功。或者,我可以将函数定义和测试之一发送给解释器,然后类型推断就可以了。如果我尝试编译或将函数定义以及这两个测试发送给解释器,则会收到error FS0001: This expression was expected to have type string, but here has type int
。
我是否误解打字应该如何工作?我有一个函数,其代码可以处理整数列表或字符串列表。我可以用任何一个成功地测试它。但是我不能在同时处理两者的程序中使用它吗?
我目前在开发部门工作,有一天我需要将其合并。目前,我的dev分支上最多有20个迁移文件,而master上现在大约有相同数量。我需要在两个分支上进行迁移,这将导致迁移具有相同的前缀,
(例如0003_auto
)
换句话说,如果您makemigrations
使用相同的前缀生成了迁移文件,那么最好的/安全的处理方法是什么。
这是我弄清楚自己的两种方法(可能完全错误):
删除所有迁移文件,将这些代码合并,然后运行一个新的makemigrations
和migrate
这将导致只有一个迁移文件。
使用该--merge
标志让django进行合并:
makemigrations --merge
Run Code Online (Sandbox Code Playgroud)现在,了解了所有这些之后,我想知道什么是处理此问题的最佳方法。通常,应该使用哪种方法才能正确合并冲突,并在每次模型更新时为我提供新的项目版本。
编辑
我认为提供逐步解决方案对于我和将来的用户来说是理想的选择,因为存在关于该主题的大量信息,但似乎没有一个简洁明了。
我正在使用 Power BI 创建报告。我正在创建一张卡片,我必须在其中显示产品销售/目标销售。卡上正在显示以下度量。
Measure 2 = ROUND(sum('Sales by Category'[ProductSales]),0) & " / " & Round(sum('Sales by Category'[TargetSales]),0)
Run Code Online (Sandbox Code Playgroud)
我需要在斜线两边留一些间隙,即25000 / 30000
. 但是即使我/
在 DAX 表达式之前和之后给出多个空格,结果卡看起来也是这样。
25000 / 30000
的两侧仅显示一个空格/
。有什么办法可以添加一个空格,比如 a'\t'
或什么的?
我正在研究这个F#wikibook,我对链接页面的函数组合部分中看到的内容感到困惑.
我能想出的最简单的例子如下:
// int -> int
let f x = x + x
// float -> float
let g x = x + 1.0
Run Code Online (Sandbox Code Playgroud)
这可以.我很容易理解这些函数的类型,我可以在fsi中运行它们并确认它们采用并返回我在上面提到的类型的值.
如果我添加以下行,那么我看到变化我不太确定我理解.
// equivalent to f (g x)
let fog = f << g
Run Code Online (Sandbox Code Playgroud)
我理解这一点的方式,它应该不起作用,因为f期望一个int,但g返回一个浮点数.
如果我在fsi中定义这个组合,我会得到预期的类型错误.如果我将所有这些放在.fsx文件中并将整个内容发送到fsi,则f的签名将变为float - > float.
我对以下内容感到困惑:
我尝试过搜索,但目前我还不太了解这些问题的答案.如果你能帮我指出解决这些问题的部分,我会很乐意接受RTFM.