我正在尝试使用堆栈在ghci中加载我的测试套件并让它加载QuickCheck和hspec依赖项.
我怎样才能做到这一点?
我正在使用franklinchen模板.
https://github.com/commercialhaskell/stack-templates/blob/master/franklinchen.hsfiles
我试过
堆栈ghci spec
stack ghci test-suite
stack ghci --main-is spec
我修改了测试套件规范以定位main-is:LibSpec.hs文件
test-suite spec
default-language: Haskell2010
ghc-options: -Wall
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: LibSpec.hs
build-depends: base
, chapterexercises
, hspec
, QuickCheck
Run Code Online (Sandbox Code Playgroud) stack ghc - --version
Glorious Glasgow Haskell编译系统,版本7.10.3
我想升级到ghc 8.
如何告诉堆栈升级ghc?
我正在制作NodaTime的原型项目与BCL的DateTime相比,但是执行此结果会让我的recursionLimit超出错误.

这是我用来JSONify我的viewmodel的函数.此函数返回后发生错误.
[HttpPost]
public JsonResult GetDates(int numOfDatesToRetrieve)
{
List<DateTimeModel> dateTimeModelList = BuildDateTimeModelList(numOfDatesToRetrieve);
JsonResult result = Json(dateTimeModelList, JsonRequestBehavior.AllowGet);
return result;
}
Run Code Online (Sandbox Code Playgroud)
我检查时,我的视图模型正确构建.这是我的视图模型的代码.
public class DateTimeModel
{
public int ID;
public LocalDateTime NodaLocalDateTimeUTC;
public LocalDateTime NodaLocalDateTime
{
get
{
DateTimeZone dateTimeZone = DateTimeZoneProviders.Bcl.GetZoneOrNull(BCLTimezoneID);
//ZonedDateTime zonedDateTime = NodaLocalDateTimeUTC.InUtc().WithZone(dateTimeZone);
OffsetDateTime offsetDateTime = new OffsetDateTime(NodaLocalDateTimeUTC, Offset.Zero);
ZonedDateTime zonedDateTime = new ZonedDateTime(offsetDateTime.ToInstant(), dateTimeZone);
return zonedDateTime.LocalDateTime;
}
}
public OffsetDateTime NodaOffsetDateTime;
public DateTime BclDateTimeUTC;
public DateTime BclLocalDateTime
{
get
{
DateTime utcDateTime = DateTime.SpecifyKind(BclDateTimeUTC, DateTimeKind.Utc);
TimeZoneInfo nzTimeZone …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 Xamarin.iOS 应用程序中注册单击事件。我不想在这样的方法中注册事件。
http://developer.xamarin.com/recipes/ios/standard_controls/buttons/handle_clicks/
我想从情节提要中注册它们,似乎有功能可以做到这一点。
在我的 ViewController 中我有以下代码:
public void ButtonPressed(object sender, EventArgs ea)
{
UIAlertView error = new UIAlertView("Test Title", "This is a test", null, "Ok", null);
error.Show();
}
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序并按下按钮时,我在 appDelegate 中收到错误
Foundation.MonoTouchException:抛出 Objective-C 异常。名称:NSInvalidArgumentException 原因:-[HomeViewController ButtonPressed:]:无法识别的选择器发送到实例 0x14691650
如何注册点击事件?
在xcode中,我想访问存档菜单,将以前的存档发布到应用商店.我知道到达那里的唯一方法是通过菜单栏 - >产品 - >存档.
问题是这会自动创建一个新的存档.
如何在不创建新存档的情况下访问此菜单?
我试图理解如何在haskell中计算斐波纳契的列表是如此之快.
列表定义是
fibs = 1 : scanl (+) 1 fibs
1 :: (1: scanl (+) 1 fibs) !! 0
:1 :: (1: scanl (+) 1 fibs) !! 1
:1+(1 :: (1: scanl (+) 1 (1: scanl (+) 1 fibs)!!0)!!2
:2+(1 :: (1: scanl (+) 1 (1: scanl (+) 1 fibs))!!1)!!3
:3+(2 :: (1: scanl (+) 1 (1: scanl (+) 1 (1: scanl (+) 1 fibs)!!0)!!2)!!4
:5+(3 :: (1: scanl (+) 1 (1: scanl (+) 1 (1: scanl (+) 1 fibs)!!1)!!3)!!5 …Run Code Online (Sandbox Code Playgroud) 我用nuget包管理器下载了这个包
该示例显示:
public class SQLiteFactoryiOS : ISQLiteFactory
{
public SQLite.Net.SQLiteConnection CreateConnection(string dbName)
{
var path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), dbName);
return new SQLite.Net.SQLiteConnection(new SQLitePlatformIOS(), path);
}
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是我无法引用SQLitePlatformIOS.我甚至在源代码中找到了它,但是我无法访问.Platform命名空间,因此我无法创建SQLitePlatformIOS对象.
using SQLite.Net; //.Platform.XamarinIOS <-- Compiler error if I try to reach this
Run Code Online (Sandbox Code Playgroud)
我用来引用它的项目是一个可移植的类项目,因为在references文件夹中我看到了.NET Portable Subset.
该项目的结构是
iOS MainProject引用示例可移植项目示例可移植项目引用SQLite.Net-PCL
在我的便携式项目中
References
.NET Portable Subset
From Packages
SQLite.Net
Packages
SQLite.Net-PCL
Data
Repositories
ExampleRepository.cs
Run Code Online (Sandbox Code Playgroud)
我的示例存储库是
using System;
using Example.Data.DTO;
using Example.Models.Properties;
using SQLite.Net;
namespace Example.Data.Repositories
{
public class ExampleRepository(string dbPath) …Run Code Online (Sandbox Code Playgroud) 几周以来,我一直试图弄清楚Haskell编译器如何将(.)应用于fmap.
我的意思是.
:t (.)
(.) :: (b -> c) -> (a -> b) -> a -> c
:t fmap
fmap :: Functor f => (a -> b) -> f a -> f b
:t (.) fmap
(.) fmap :: Functor f => (a -> a1 -> b) -> a -> f a1 -> f b
Run Code Online (Sandbox Code Playgroud)
编译器是如何得到(.)fmap的类型的?
我实际上是在这里问这个问题但是当我解释我尝试过的时候,所有这些都在一起.所以现在我也要发布答案了.
如何创建一个基础内容页面类来继承xamarin表单?
我跟着这个论坛寻求建议.
一切都很好,直到我必须解决Xaml部分.
using System;
using Xamarin.Forms;
namespace MyProject
{
public class BaseContentPage : ContentPage
{
public BaseContentPage()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
using System;
using Xamarin.Forms;
namespace MyProject
{
public partial class DashboardPage : BaseContentPage
{
public DashboardPage()
{
InitializeComponent();
}
void GoToJobDetailsPage(object sender, EventArgs args)
{
var masterPage = Application.Current.MainPage as MasterDetailPage;
masterPage.Detail = new H2HNavigationPage(new JobDetailPage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="UTF-8"?>
<d.BaseContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="clr-namespace:MyProject;assembly=MyProject"
x:Class="MyProject.DashboardPage"
ControlTemplate="{StaticResource Background}">
<ContentPage.Content>
</ContentPage.Content>
</d.BaseContentPage>
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我得到编译器错误
...DashboardPage.xaml.g.cs(64,64): Error CS0234: …Run Code Online (Sandbox Code Playgroud) 我在屏幕左侧打开了一个 Haskell 文件,另一半打开了 ghci。我想在文件中添加函数、保存并在 ghci 中试验它们。问题是我不完全确定如何声明顶级函数。我什至不确定我知道什么是顶级函数。我认为它们只是最高范围的功能。所以我的问题是做到这一点的极简方式是什么?例如...
let f1 x = x
Run Code Online (Sandbox Code Playgroud)
我需要用什么样板代码来包围它才能编译它以便我可以在 ghci 中加载它?
我无法为newtype派生Eq和Show.
newtype Comp a = Comp {unComp :: a -> a } deriving (Eq, Show)
Run Code Online (Sandbox Code Playgroud)
当我尝试将此文件加载到我的堆栈ghci中时,它告诉我"没有实例(Show(a - > a))"
但完全相同的定义在另一个文件中加载正常.实际上以前的文件也存在问题但是它因为一些奇怪的原因而停止了.
我想在列表理解中构建一个矩阵.对于每一行,我需要getLine并解析它.
简而言之,我想做这样的事情.
fun = [ getLine | y <- [0..4]]
Run Code Online (Sandbox Code Playgroud)
如果我运行此函数,而不是尝试从每个行的命令提示符getLine,我得到一个错误,因为使用'print'引起的(Show(IO String))No Instance.
我收到错误消息,但是我如何在列表理解中获取线条?