我必须使用'for elem in list'和tail/non-tail递归来编写自己的List.map函数.我一直在谷歌寻找一些提示,但没有找到太多.我已经习惯了Python,很难不考虑使用它的方法,但当然,这些语言彼此之间是非常不同的.
对于第一个我开始的东西,如:
let myMapFun funcx list =
for elem in list do
funcx elem::[]
Run Code Online (Sandbox Code Playgroud)
尾递归:
let rec myMapFun2 f list =
let cons head tail = head :: tail
Run Code Online (Sandbox Code Playgroud)
但无论如何,我知道这是错的,感觉不对.我想我还没有用到F#结构.任何人都可以帮我一把吗?
谢谢.
在这里,我再次寻求帮助。:)我正在尝试使用F#将数据插入到MySQL数据库中。我的模式包括3个表(实验,基因和结果):
Experiments | Results | Gene
Experiment id | Experiment id | Gene id
Experiment name | Gene id | Gene Name
| Value |
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试使用SQLProvider将数据添加到数据库中。
let db = sql.GetDataContext()
let gene_tb = db.Vp32.Genes
let exp_tb = db.Vp32.Experiments
let results_tb = db.Vp32.Results
let createNewInput (genename: string) (expname: string) res =
let newRes = results_tb.Create()
let newGene = gene_tb.Create()
let newExp = exp_tb.Create()
newGene.GeneName <- genename
newExp.ExpName <- expname
newRes.ResultVal <- Some res
createNewInput "test1" "experiment_test1" (float32 999.5)
db.SubmitUpdates()
Run Code Online (Sandbox Code Playgroud)
我很难理解结果值 …
我正在尝试使用FSharp.Charting组合一些柱形图,但我卡住了.
每次我的递归函数执行某些操作时,它都会创建一个图表(ChartTypes.GenericChart).然后,我将这个新图表添加到列表(ChartTypes.GenericChart列表).实际上一切看起来都很不错.一旦函数离开递归操作,它就会创建图表.问题是我无法将列表中的所有图表组合在一起,所以会发生的事情是我最终得到了大量的列图,每个列表项都有一个.
我正在尝试这样的事情:
for x in chartList do
Chart.Combine ([
x
|> Chart.WithXAxis (LabelStyle = ChartTypes.LabelStyle(Interval=1.0))
|> Chart.WithYAxis (Min=0.75)
]
)
|> Chart.Show
Run Code Online (Sandbox Code Playgroud)
正如我所说..输出是所有图形分离,而不仅仅是一个组合.有人有想法吗?
谢谢.