问题列表 - 第39840页

让国家处于无国界的世界

我正在将无上下文语法转换为Greibach Normal Form(GNF).主要转换(来自Hopcroft和Ullman)是对语法的索引变量的迭代序列.它本质上是"无国籍的".我已经将它实现为适当索引的一系列折叠(实现相当简单):

gnf :: Ord a => Set (Rule a) -> Set (Rule a)
gnf rl = foldl step1 rl [1..maxIndex rl]
 where step1 rl' k = foldl step2 rl' [1..k - 1]
        where step2 rl'' j = noLR k (subst rl'' k j)
Run Code Online (Sandbox Code Playgroud)

maxIndex rl返回一组规则中的最大变量索引; subst rl kj通过右侧以j -indexed变量开头的规则对k- indexed规则执行替换.执行gnf后,我需要以相反的顺序对语法执行最后一次传递.

问题是noLR,它使用左递归k - indexed规则转换语法.这是一个"状态"功能,因为唯一的变量必须为每个规则(或生成ķ -indexed规则),其noLR被应用.所以我写了一个有状态函数

noLR :: Ord a => Int -> Set (Rule a) -> State …
Run Code Online (Sandbox Code Playgroud)

monads state haskell context-free-grammar

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

VS2008 extern模板

Microsoft有一个扩展,可以声明模板实例化是外部的; 因此,它不会被隐式实例化.至少那是理论.我尝试用代码再现它

#include <vector>

class Foo{
    int i;
public:
    virtual ~Foo();
};

extern template class std::vector<Foo>;
Run Code Online (Sandbox Code Playgroud)

这给了我

warning C4231: nonstandard extension used : 'extern' before template 
explicit instantiation
Run Code Online (Sandbox Code Playgroud)

然而,似乎没有其他事情发生:程序继续链接find,即使我使用push_back(并且dumpbin显示push_back被实例化).

只有当我宣布

extern template void std::vector<Foo>::push_back(const Foo&);
Run Code Online (Sandbox Code Playgroud)

我按预期得到链接器错误.

那么:我如何将整个实例化(所有成员)声明为显式,以防止隐式实例化?

c++ templates visual-studio-templates

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

在WinForms表单中设置Form.Text不会更新标题

我在我的例行程序中有这段代码,但它似乎无法工作:

public MainForm()
{
  InitializeComponent();
  this.Text = "Elvis " + AssemblyVersion;
}
Run Code Online (Sandbox Code Playgroud)

在我的设计师中,我将表单标题设置为"Elvis".我看到AssemblyVersion信息被正确添加到文本中,但标题根本没有更新.我尝试刷新,无效等,但没有任何作用.知道如何在运行时更新标题吗?

我使用的是.NET 3.5和VS 2008.

谢谢

c# winforms

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

如何使用jQuery/JS检测元素的继承背景颜色?

使用jQuery(或只是JavaScript),如何检测元素的继承背景颜色?

例如:

<div style="background-color: red">
    <p id="target">I'd like to know that the background-color here is red</p>
</div>
Run Code Online (Sandbox Code Playgroud)

然而:

$('#target').css('background-color') == rgba(0,0,0,0)
Run Code Online (Sandbox Code Playgroud)

$('#target').css('backgroundColor') == rgba(0,0,0,0)
Run Code Online (Sandbox Code Playgroud)

我要求一般的解决方案. $('#target').parent().css('background-color')会在这种情况下工作,但不是全部.

html javascript css jquery

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

将Django项目从1.2更新到1.3,manage.py无法正常工作

我决定将Django 1.2项目更新为Django 1.3,以利用新的静态文件机制.我删除了旧版本的Django,并按照文档的说明从svn安装开发版本.

这些变化似乎已经发生了变化.也就是说,python -c"import django; print django.get_version()"产生"1.3 alpha 1 SVN-14686".然而,我似乎无法利用旧项目中的1.3功能.如果我做"python manage.py collectstatic --help"我得到"未知命令:'collectstatic'".

我尝试创建一个新项目并做同样的事情,并且collectstatic命令工作.我挖到了django.core.management,但实际上并没有真正理解它.get_commands()的docstring提到:

字典在第一次调用时缓存,并在后续调用中重用.

也许这完全无关紧要,但我想知道我的问题是否与缓存有关(也就是说,旧版本的命令字典是缓存的,它没有新的1.3命令?).有什么想法吗?

python django

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

<Cocoa/Cocoa.h>位置

我是Mac OS X开发的新手.在XCode/Cocoa开发人员环境中,每个Objective-C项目都以
#import <Cocoa/Cocoa.h>
它开始工作正常但我对Cocoa.h文件位置感到困惑.我的文件系统上的Cocoa文件夹中没有Cocoa.h文件.我试图"查找/ Cocoa/Cocoa.h"和"找到Cocoa/Cocoa.h"没有找到任何内容.
任何人都可以给我一个关于编译器在#import语句中找到Cocoa.h头的方式和位置的提示.

谢谢,恢复Microsoft Addict

search xcode cocoa header

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

循环遍历asp.net网页上的所有控件

我需要遍历我的asp.net网页中的所有控件并对控件执行某些操作.在一个例子中,我正在从页面中创建一个巨大的字符串并通过电子邮件发送给自己,在另一个例子中,我将所有内容保存到cookie中.

问题是masterpages和包含控件集合的项目.我希望能够将一个Page传递给该方法,然后让该方法具有足够的通用性,以循环遍历最内层内容页面中的所有控件并使用它们.我尝试用递归来做这个,但我的递归是不完整的.

我想将一个Page对象传递给一个方法,并让该方法循环遍历最里面的内容页面中的所有控件.我怎样才能做到这一点?

    private static String controlToString(Control control)
{
    StringBuilder result = new StringBuilder();

    String controlID = String.Empty;

    Type type = null;

    foreach (Control c in control.Controls)
    {
        try
        {
            controlID = c.ID.ToString();

            if (c is IEditableTextControl)
            {
                result.Append(controlID + ": " + ((IEditableTextControl)c).Text);
                result.Append("<br />");
            }
            else if (c is ICheckBoxControl)
            {
                result.Append(controlID + ": " + ((ICheckBoxControl)c).Checked);
                result.Append("<br />");
            }
            else if (c is ListControl)
            {
                result.Append(controlID + ": " + ((ListControl)c).SelectedValue);
                result.Append("<br />");
            }
            else if (c.HasControls()) …
Run Code Online (Sandbox Code Playgroud)

c# asp.net webforms master-pages

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

有没有理由在2011年抛弃javascript flash嵌入方法?

使用JS嵌入flash的好处是我的知识:

  • 能够查询navigator对象并查看安装了哪些Flash版本,可能会分支出来并基于此提供不同的内容
  • 安装闪光灯,脚本保持标记,通常你只需要到指定的一致的方法src,flashvars,尺寸
  • 通过依靠辅助工具来嵌入swf来节省时间,而不用担心错综复杂的细节
  • 如果每个站点嵌入多个对象,则能够提供一致的回退.

缺点:

  • 没有闪存但启用了JS的设备将完全失败
  • 人们变得懒惰,不提供后备内容
  • 如果需要跨浏览器兼容,代码就是一团糟.有共同嵌入各种错误(甚至YouTube的)和"最佳"的跨浏览器似乎嵌套在每一个对象的对象.我意识到,我可以使用服务器端方法并定义嵌入代码一次并在一个区域中更改它,但这使得它不能嵌入/可用于CMS textareas.

专业人士似乎超过了缺点.我在移动内容方面做得不够,无法获得准确的意见.任何人都可以想到原因/为什么不呢?

javascript flash

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

Android画布上的单词包装tex

我正在尝试将一些字符串写入画布(动态壁纸)但是长字符串没有得到包装有没有办法做到这一点?
我认为帆布是我唯一可以使用的东西,因为它是一个动态壁纸.

android text canvas word-wrap

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

Python:列表理解,如果x存在,请执行f(x)吗?

我怎样才能在Python中执行以下操作?

row = [unicode(x.strip()) if x for x in row]
Run Code Online (Sandbox Code Playgroud)

基本上,列表理解,如果变量存在,您执行函数.

谢谢!

python list-comprehension

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