我想在F#中做一个循环图
我的节点类型看起来像这样:
type Node = { Value : int; Edges : Node list }
Run Code Online (Sandbox Code Playgroud)
我的问题是:为了有周期,我是否需要让Edges可变?
我看到了用于创建C#PCL的模板,但不是F#PCL.在某个地方,有人提到安装必要的模板.
谁知道更好?
关于Xamarin Studio 5.9
有人知道XS 5.9是否支持F#PCL?
例如,您是否可以在Haskell中定义列表而无需定义递归结构?或者用某些功能替换所有列表?
data List a = Empty | (a, List a) -- <- recursive definition
Run Code Online (Sandbox Code Playgroud)
编辑
我以列表为例,但我一般都在询问所有数据结构.也许我们只需要一个递归数据结构来处理需要递归的所有情况?就像Y组合器是唯一需要的递归函数.@TikhonJelvis的回答让我想到了这一点.现在我很确定这篇文章更适合cs.stackexchange.
关于当前选择的答案
我真的在寻找看起来更像是@DavidYoung和@TikhonJelvis给出的答案,但他们只给出了部分答案,我很感激他们.所以,如果有任何答案使用功能概念,请分享.
这个问题对我来说似乎很简单,但我找不到答案.
假设您要从正态分布中获取大小为n的样本,其均值为10,方差为1,然后得到它们的平均值和方差,以验证样本是否来自正态分布.
我想这会是这样的:
values = take n $ sample (normal 10 1)
(avg values, variance values)
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用库random-fu,所以如果你能用lib提供答案,我真的很感激.
我想从:
let a = fun x ->
x
|> f
|> g
Run Code Online (Sandbox Code Playgroud)
这样的事情:
let a = |> f
|> g
Run Code Online (Sandbox Code Playgroud)
我试过了:
let a = (<|) f
|> g
Run Code Online (Sandbox Code Playgroud)
和类似的
http的文档有这个例子:
import {Http, HTTP_PROVIDERS} from 'angular2/http';
@Component({
selector: 'http-app',
viewProviders: [HTTP_PROVIDERS],
templateUrl: 'people.html'
})
class PeopleComponent {
constructor(http: Http) {
http.get('people.son')]
.map(res => res.json())
.subscribe(people => this.people = people);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我需要添加这一行:import 'rxjs/add/operator/map使它工作.
我的配置是否不同或示例中缺少导入?
说:
let x = // some operation
type t = SomeTypeProvider<x>
Run Code Online (Sandbox Code Playgroud)
这有效吗?
我不想将csv写入文件,而是使用csv格式获取数据帧的字符串表示(通过网络发送).
我正在使用R.NET,如果它有助于了解.
特别是,我想为这种类型编写一个扩展方法:
type Frame<'TRowKey, string when 'TRowKey : equality> with
member frame.someMethod =
// code
Run Code Online (Sandbox Code Playgroud)
使用该代码,我收到此错误:
类型名称中的意外标识符.预期的中缀运算符,引号或其他标记.
更换string用String的结果相同.
原始类型Frame<'TRowKey, 'TColumnKey (requires equality and equality)>来自Deedle库.
给出2个独特,可订购,非连续元素的列表,请说:
['d', 'a', 'z', 'b']
Run Code Online (Sandbox Code Playgroud)
我想在另一个列表中找到他们的索引,说:
['a', 'b', 'z', 'd']
Run Code Online (Sandbox Code Playgroud)
结果将是一个包含其职位的列表:
[3, 0, 2, 1] -- element at 0 is at 3,
-- element at 1 is at 0, etc.
Run Code Online (Sandbox Code Playgroud) 这段代码意味着什么?具体来说,花括号在做什么?它们不在功能中.
yyerror(s) char * s;
{
fputs(s,stderr), putc('\n',stderr);
}
Run Code Online (Sandbox Code Playgroud) 作者声称下一次调用不是递归调用,但我不明白为什么.

资料来源:http://courses.cms.caltech.edu/cs11/material/haskell/lectures/haskell_lecture_5.pdf
value *= pow(10, 3); // this one compiles
value *= pow(10, aVar); // this one produces this error:
//Number.c:(.text+0x469): undefined reference to `pow'
Run Code Online (Sandbox Code Playgroud)
aVar是一个int变量.
会是什么呢?
我正在使用makefile.我很喜欢"make lexanc"我的makefile看起来像这样:
lexanc: lexandr.o lexanc.o scanner.o printtoken.o token.h lexan.h Number.o
cc -o lexanc -lm lexandr.o lexanc.o scanner.o printtoken.o Number.o
...
Number.o: Number.c Number.h lexan.h
cc -c Number.c
lexanc.o: lexanc.c token.h lexan.h Number.h
cc -c lexanc.c
...
Run Code Online (Sandbox Code Playgroud)
我的cc版本是:laygr @ xxx $ cc --version cc(Ubuntu/Linaro 4.6.3-1ubuntu5)4.6.3
f# ×6
haskell ×4
c ×2
angular ×1
arrays ×1
composition ×1
csv ×1
dataframe ×1
generics ×1
graph ×1
immutability ×1
linker ×1
list ×1
math.h ×1
monads ×1
mutability ×1
pipe ×1
r ×1
random ×1
rxjs ×1
state-monad ×1
statistics ×1
xamarin ×1