F#命令行(fsi)无法识别函数,编译错误,为什么?

时间:2015-05-22 01:14:49

标签: f# fsi

我在命令行下尝试了F#,它无法识别功能定义

NSArray *viewControllers = [[NSArray alloc]initWithObjects:[self.storyboard instantiateInitialViewController], nil];
self.pageViewController = [[UIPageViewController alloc]initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pageViewController.delegate = self;
self.pageViewController.dataSource = self;
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];

问题:我的程序中有错误吗?我将f的定义和用法复制并粘贴到visual studio的F#项目中,运行正常。

但为什么命令行失败?

1 个答案:

答案 0 :(得分:1)

您定义了一个名为ref的函数,但您尝试调用名为f的函数。没有定义此类函数(尽管您的ref函数采用了名为f的参数),因此您无法调用它。

您可能希望使用f关键字(使用&#39; c&#39;)来定义递归函数rec,而不是定义名为ref的函数。< / p>

  

我将f的定义和用法复制并粘贴到visual studio的F#项目中,运行正常。

只有当您的VS项目已包含名为f的函数的定义时,才有可能。