问题列表 - 第30301页

Haskell中的记忆?

关于如何有效地解决Haskell中的以下函数的任何指针,对于大数 (n > 108)

f(n) = max(n, f(n/2) + f(n/3) + f(n/4))
Run Code Online (Sandbox Code Playgroud)

我已经在Haskell中看到了用于解决斐波纳契数的例子,其中涉及计算(懒惰)所有斐波纳契数到所需的n.但在这种情况下,对于给定的n,我们只需要计算很少的中间结果.

谢谢

haskell memoization

128
推荐指数
5
解决办法
2万
查看次数

C#将flag枚举类型的变量中的set标志转换为整数数组

我想出了这段代码,它在Flag Enumeration类型的变量中转换set标志,并将set flags作为整数返回.我想知道这是否是最佳方法.

枚举示例:

[Flags]
enum Status {
  None = 0x0,
  Active = 0x1,
  Inactive = 0x2,
  Canceled = 0x4,
  Suspended = 0x8
}

将set标志转换为我想出的int数组的扩展方法:

public static class Extensions
{
    public static int[] ToIntArray(this System.Enum o) 
    {
        return o.ToString()
            .Split(new string[] { ", " }, StringSplitOptions.None)
            .Select(i => (int)Enum.Parse(o.GetType(), i))
            .ToArray();
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我使用它的方式:

Status filterStatus = Status.Suspended | Status.Canceled;

int[] filterFlags = filterStatus.toIntArray();

foreach (int flag in filterFlags) {
   Console.WriteLine("{0}\n", flag);
}
Run Code Online (Sandbox Code Playgroud)

它将输出:

4
8
Run Code Online (Sandbox Code Playgroud)

如您所见,为了完成这项工作,我正在做以下事情:

  1. 将变量转换为字符串.它输出的内容如下:Suspended,Cancelled
  2. 将该字符串拆分为字符串数组:{"Suspended","Canceled"}
  3. 使用Enum.Parse将该字符串转换为枚举值. …

c# linq string enumeration

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

"反向"统计:根据均值和标准差生成数据

拥有数据集并从中计算统计数据很容易.反过来怎么样?

假设我知道某个变量具有平均X,标准偏差Y并假设它具有正态(高斯)分布.生成适合分布的"随机"数据集(任意大小)的最佳方法是什么?

编辑:这种发展从这个问题 ; 我可以根据这种方法制作一些东西,但我想知道是否有更有效的方法来做到这一点.

language-agnostic statistics

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

使用dismax处理程序的通配符搜索?

我已成功索引文件,并希望能够使用通配符进行搜索.我目前正在使用dismaxRequestHandler(QueryType = dismax)进行搜索,以便我可以搜索查询的所有字段.

像'computer'这样的常规搜索会返回结果,但'com*er'不会返回任何结果.同样,像'co?mput?r'这样的搜索没有结果.

有人可以告诉我一种方法继续使用dismax并能够在'q'字段中进行通配符搜索吗?edismax处理程序有这个吗?如果是这样,我该如何使用它.我有Solr 1.4.1.

请帮帮我.

谢谢.

伊姆兰.

search solr wildcard dismax edismax

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

WPF DataGrid - 使用CheckBox隐藏列

我试图使用复选框控制列的可见性(这是在WPF 4.0中).

这是我的XAML的片段:

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="BoolToVisConverter" />
</Window.Resources>

<CheckBox x:Name="GeneralDetailsVisible" Content="General Details"  Margin="5"/>

<DataGridTextColumn Header="Crew" 
  Binding="{Binding Path=Crew}" 
  Visibility="{Binding ElementName=GeneralDetailsVisible, 
                       Converter={StaticResource BoolToVisConverter}, 
                       Path=IsChecked}">
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)

现在我知道BooleanToVisibilityConverter转换器正在工作,因为我将它绑定到文本块,我可以看到我期望的值.如果我手动将值输入到列可见性属性中,则可以使用.但是当我绑定它时.我究竟做错了什么?

回答:

Quartermeister向我指出了答案.他指出的页面有点误导,因为帖子上列出的代码不起作用,你必须查看示例代码.

这是我最后的工作代码,适用于遇到此问题的任何人:

转换器将我们的ViewModels bool属性转换为我们的列属性的正确Visibility值.

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="BoolToVisConverter" />
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

将复选框绑定到ViewModels属性,该属性将控制列visibiity.

<CheckBox
  x:Name="DetailsVisible" 
  Content="Show Details"
  IsChecked="{Binding Path=DisplayDetails}" />
Run Code Online (Sandbox Code Playgroud)

然后将Visibility绑定到ViewModels DisplayDetails属性.请注意,绑定到的列是自己的DataContext.

<DataGridTextColumn
  Header="Reliability" 
  Binding="{Binding Path=Reliability}" 
  Visibility="{Binding (FrameworkElement.DataContext).DisplayDetails, 
                       RelativeSource={x:Static RelativeSource.Self}, 
                       Converter={StaticResource BoolToVisConverter}}">
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)

将以下代码添加到项目中,这允许捕获DataGrids DataContext中的更改.

FrameworkElement.DataContextProperty.AddOwner(typeof(DataGridColumn));

FrameworkElement.DataContextProperty.OverrideMetadata(typeof(DataGrid),
        new FrameworkPropertyMetadata
           (null, FrameworkPropertyMetadataOptions.Inherits,
           new PropertyChangedCallback(OnDataContextChanged))); 
Run Code Online (Sandbox Code Playgroud)

然后,每当您更改DataGrids DataContext时,我们都会使用新的DataContext更新所有附加的DataGridColumsn.

public static void OnDataContextChanged(DependencyObject d,
                                        DependencyPropertyChangedEventArgs e)
{
    DataGrid grid = d as …
Run Code Online (Sandbox Code Playgroud)

wpf xaml wpfdatagrid

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

如何在Clojure中为函数参数创建默认值

我来这个:

(defn string->integer [str & [base]]
  (Integer/parseInt str (if (nil? base) 10 base)))

(string->integer "10")
(string->integer "FF" 16)

但它必须是一个更好的方法来做到这一点.

function clojure default-value optional-parameters

121
推荐指数
5
解决办法
5万
查看次数

新的MVC2领域有什么好处?

有人可以解释使用新的MVC2区域功能的优缺点吗?

我不明白他们有什么好处.如果我在我的MVC应用程序中添加管理区域,为什么不在主视图和控制器文件夹中创建一个新的Admin文件夹?什么创造一个区域真的让我?

asp.net-mvc areas asp.net-mvc-2

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

在Perl中,如何迭代数组的多个元素?

我有一个CSV文件,我用它split来解析一个N项目数组,其中N是一个倍数3.

有没有办法可以做到这一点

foreach my ( $a, $b, $c ) ( @d ) {}
Run Code Online (Sandbox Code Playgroud)

类似于Python?

perl

6
推荐指数
3
解决办法
2149
查看次数

可停靠面板/标签的Javascript库?

在将.NET丰富的应用程序转换为Javascript的过程中.人们非常喜欢的GUI功能之一是重新安排他们的应用程序布局.在.NET中,这是通过Sandock完成的:

http://www.divelements.com/net/controls/sanddock/screenshots.aspx

对于Javascript,这样的事情是什么?

javascript layout panel widget

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

如何编写vim函数来输出系统命令的结果?

到目前为止我所拥有的:

function! GetMarker()
    return system('echo $random `date` | md5sum | cut -d" " -f1')
endfunction
Run Code Online (Sandbox Code Playgroud)

我希望能够做到:getmarker并让它在我的光标处插入该系统命令的输出,没有新行.

此外之间有什么区别function!function

编辑:在你问任何人之前,我需要随机字符串来标记我的代码中的部分,以便我可以通过在我的todo wiki中引用我的笔记再次找到它们.

vim

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