问题列表 - 第7483页

我应该使用GHC Haskell扩展吗?

在我学习Haskell时,我发现在现实代码中使用了很多语言扩展.作为初学者,我应该学会使用它们,还是应该不惜一切代价避免使用它们?我看到它破坏了与Haskell 98的兼容性,并且仅将代码限制为几乎GHC.但是,如果我在Hackage上浏览软件包,我发现大多数软件包都是GHC的.

那么,社区对使用语言扩展的态度是什么?

如果扩展的使用是可以的,我如何区分我可以"安全地"使用的扩展(那些可能成为下一个Haskell标准的一部分的扩展)与那些主要是"实验性"的扩展?例如,我认为-XDisambiguateRecordFields很好用,但未来很可能会得到支持吗?

haskell ghc

78
推荐指数
4
解决办法
5707
查看次数

在SAS中删除表

在SAS中删除表的最有效方法是什么?

我有一个循环和删除大量表的程序,并想知道PROC SQL之间是否存在性能差异; 和PROC DATASETS; 一次删除一个表..

或者如果有另一种方式或许???

sas drop-table proc-sql

12
推荐指数
2
解决办法
3万
查看次数

WPF转换器:文化来自哪里

我创建了一个WPF转换器类:

public class DoubleConverter : IValueConverter
{
    public object Convert(object value, Type TargetType, object parameter, CultureInfo culture)
    {
        //blah blah
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道谁设置了传递的culture参数.我希望它与当前的Windows设置相同,但它似乎有所不同.

任何人?

.net c# wpf converter

8
推荐指数
2
解决办法
2849
查看次数

Oracle Ref Cursor Vs选择进入异常处理

我有几个场景:

  1. 需要以预定义的顺序从三个不同的表中读取列的值,并且只有一个表将具有该数据

  2. 如果给出的标准存在记录,则从table1读取数据,否则从表2中读取给定标准的数据

在Oracle存储过程中

现在处理这些的方法是首先将给定查询的计数变为变量,如果count> 0,则我们执行相同的查询来读取实际数据,如下所示:

select count(*) from table1 into v_count
if v_count > 0
then
    select data into v_data from table1
end if;

Return v_data
Run Code Online (Sandbox Code Playgroud)

这样做是为了避免no_data_found异常,否则我需要三个异常处理程序块来捕获每个表访问的no_data_found异常.

目前我正在用游标重新实现这个,所以我有这样的东西:

cursor C1 is
    select data from table1;
Open C1
Fetch C1 into v_data
if C1%FOUND
then
    Close C1
    Return v_data
End If
Run Code Online (Sandbox Code Playgroud)

我想从性能的角度找出哪一个更好 - 一个是Cursors,另一个是选择变量并且有三个no_data_found异常块.我不想使用我们目前的两阶段查询过程.

oracle plsql cursor

3
推荐指数
1
解决办法
2万
查看次数

这个加密的QueryString的问题是什么 - Base-64 char数组的长度无效

我正在加密文本并通过QueryString发送它.

"8ZnSq13yv2yYVDsehDnNUNp/yIFqsAQh4XNPbV1eLMpk/dMWpc/YnMMEBy29MlgcYqpV2XPOf/Rpiz5S85VN/fkLbGTCkL/clBHh983Cp s="
Run Code Online (Sandbox Code Playgroud)

Decrypt函数如下所示

public static string Decrypt(string stringToDecrypt)//Decrypt the content
{
    try
    {
        byte[] key = Convert2ByteArray(DESKey);
        byte[] IV = Convert2ByteArray(DESIV);
        int len = stringToDecrypt.Length;
        byte[] inputByteArray = Convert.FromBase64String(stringToDecrypt);

        DESCryptoServiceProvider des = new DESCryptoServiceProvider();
        MemoryStream ms = new MemoryStream(); 

        CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
        cs.Write(inputByteArray, 0, inputByteArray.Length);

        cs.FlushFinalBlock();

        Encoding encoding = Encoding.UTF8; return encoding.GetString(ms.ToArray());
    }
    catch (System.Exception ex)
    {
        throw ex;
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?

c# asp.net base64 request.querystring

1
推荐指数
1
解决办法
4193
查看次数

.NET RegExp引擎搜索性能优化

我有大约35,000个字符串的List集合

典型字符串如下所示:

"<i>füüs</i>ampri tähis;lüh ld-st<i>anno</i>, aastal;<i>maj</i> lüh pr-st<i>argent</i>, raha (kursisedelitel)"
Run Code Online (Sandbox Code Playgroud)

基本上这个字符串包含爱沙尼亚语中的一堆单词:)

我需要允许用户对35,000个字符串执行RegExp搜索

如果我使用/ab.*/表达式执行搜索,则搜索只需不到一秒钟

如果我使用/.*ab/表达式执行搜索,则搜索大约需要10秒

我的问题是:如何更快地进行二次搜索(少于1.5秒)?

非常感谢你

.net c# regex optimization performance

2
推荐指数
1
解决办法
1146
查看次数

清洁方式按指定的顺序按ID查找ActiveRecord对象

我想获得一个给定一组id的ActiveRecord对象数组.

我认为

Object.find([5,2,3])
Run Code Online (Sandbox Code Playgroud)

将返回一个数组,其中包含对象5,对象2,然后按顺序返回对象3,但我得到的数组按对象2,对象3和对象5排序.

ActiveRecord Base 查找方法API提到您不应该按照提供的顺序期望它(其他文档不提供此警告).

一个可能的解决方案是按相同顺序的ID数组查找的?,但订单选项似乎对SQLite无效.

我可以编写一些ruby代码来自己对对象进行排序(有点简单,缩放比例较差或缩放比较复杂),但是有更好的方法吗?

sqlite activerecord ruby-on-rails find rails-activerecord

26
推荐指数
4
解决办法
2万
查看次数

为什么自我实现的getter会保留并自动释放返回的对象?

例:

- (NSString*) title {
    return [[title retain] autorelease];
}
Run Code Online (Sandbox Code Playgroud)

二传手实际上已经保留了它,对吧?实际上没有人应该绕过Setter ......所以我想知道为什么吸气剂不仅仅会返回物体?它实际上已经保留了下来.或者只是在同时将另一个对象传递给setter的情况下才需要它?

iphone cocoa-touch memory-management uikit

11
推荐指数
2
解决办法
3748
查看次数

在代码中加载BitmapImage

从我的程序集(A)我想调用一个传递图像的另一个程序集(B)中的方法.然后在WPF窗口中显示该图像 - 该窗口是B项目的一部分.

我似乎无法使用pack:// uri传递一个ImageSource,因为这会在B的上下文中进行评估,所以我想我还需要在A中使用CachedBitmap(?)来缓存图像.

        BitmapImage img = new BitmapImage(new Uri("Images/32px-Nuvola_apps_cache.png", UriKind.Relative));
        CachedBitmap cbmp = new CachedBitmap(img, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
Run Code Online (Sandbox Code Playgroud)

如果我将图像设置为嵌入式资源并将其作为流加载,我已设法使其工作,但这不是WPF方式.

从包装中可以看出:我应该能够做到这一点的文档,但是我在下面尝试了这些并且没有工作;

"Images/32px-Nuvola_apps_cache.png":"找不到路径的一部分" "pack:// application:,,, Images/32px-Nuvola_apps_cache.png":"无法识别URI前缀." ."pack:// siteoforigin:,,, Images/32px-Nuvola_apps_cache.png":"无法识别URI前缀."

我想要做的就是将一个Resource .png文件加载到内存中并将其批量传递给另一个程序集中的方法.

谢谢保罗.

wpf bitmapimage

4
推荐指数
1
解决办法
5159
查看次数

最近开始使用git ...只是注意到了我的文件的克隆,最后添加了'〜'...为什么会发生这种情况

我使用git在我的存储库中提交更改,

按照这些步骤

git add .
git commit -m "message"
Run Code Online (Sandbox Code Playgroud)

但是注意到文件的克隆,其中进行了更改也存在于存储库中,新文件~的末尾附加了"符号".

为什么会这样?我怎么能在将来阻止它呢?
关于如何用"〜"删除文件的一些想法会很棒

谢谢

git ignore commit

1
推荐指数
2
解决办法
459
查看次数