我不想重复Cthulhu的答案,但我希望使用Treetop匹配开启和关闭HTML标签的对.使用这个语法,我可以匹配开始标记和结束标记,但现在我想要一个规则将它们绑在一起.我已尝试过以下内容,但使用此方法会使我的解析器永远继续(无限循环):
rule html_tag_pair
html_open_tag (!html_close_tag (html_tag_pair / '' / text / newline /
whitespace))+ html_close_tag <HTMLTagPair>
end
Run Code Online (Sandbox Code Playgroud)
我试图将此基于递归括号示例和Treetop Github页面上的否定前瞻示例.我引用的其他规则如下:
rule newline
[\n\r] {
def content
:newline
end
}
end
rule tab
"\t" {
def content
:tab
end
}
end
rule whitespace
(newline / tab / [\s]) {
def content
:whitespace
end
}
end
rule text
[^<]+ {
def content
[:text, text_value]
end
}
end
rule html_open_tag
"<" html_tag_name attribute_list ">" <HTMLOpenTag>
end
rule html_empty_tag …
Run Code Online (Sandbox Code Playgroud) 我正在使用JPA 2并具有以下方法:
private static void wipeTable(EntityManager em, Class<? extends Table> klass) {
String tableName = klass.getAnnotation(Table.class).name();
...
}
Run Code Online (Sandbox Code Playgroud)
我认为Class<? extends Table>
参数存在问题.我有一个像这样的实体类:
@Entity
@Table(name = "collections")
public class Collection extends MyOtherClass implements Serializable { ... }
Run Code Online (Sandbox Code Playgroud)
我可以做得Collection.class.getAnnotation(Table.class).name()
很好,所以我希望能够Collection
作为参数传递.只是调用wipeTable(em, Collection.class);
有以下错误:
FetchData类型中的方法wipeTable(EntityManager,Class <?extends Table>)不适用于参数(EntityManager,Class <Collection>)
我试过让参数为be Class klass
,没有泛型:
private static void wipeTable(EntityManager em, Class klass) {
String tableName = ((Table)klass.getAnnotation(Table.class)).name();
Run Code Online (Sandbox Code Playgroud)
这导致我的IDE建议:
类是原始类型.应参数化对泛型类的引用
我正在使用Java 1.5.有没有办法说"给我一个Class
注释类型的参数@Table
"?
我有一个实体类,其主键上有以下注释: @GeneratedValue(strategy = GenerationType.AUTO)
.但是,当我尝试persist
这个类的实例时,我得到了
com.microsoft.sqlserver.jdbc.SQLServerException:无效的对象名称'OPENJPA_SEQUENCE_TABLE'.在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
它正在寻找的表肯定不存在于数据库中.连接到数据库的用户可以创建表.它应该自动创建OPENJPA_SEQUENCE_TABLE,还是我必须这样做?如果是这样,它所期望的表架构是什么?我正在使用openjpa-1.2.2.jar.
编辑:我查看了main()
JavaDoc,因为它有一个在命令行上添加序列表的选项,但org.apache.openjpa.jdbc.schema.TableJDBCSequence
在openjpa-1.2.2.jar中不存在. org.apache.openjpa.jdbc.schema
是的,但TableJDBCSequence
不在其中.
我刚刚开始使用Meteor,我想播放静态音频文件,MP3或M4A.我似乎找不到放置这样一个文件的合适位置.我创建了一个公共/目录并将我的音频文件放在那里,但是当我尝试加载时http://localhost:3000/public/myfile.mp3
,它只是再次加载我的Meteor主页(即常规HTML页面,而不是音频文件).就像服务器没有看到文件一样.有什么方法我必须用Meteor注册文件,还是应该在不同的位置?谢谢.
我在C#类中有以下内容:
public static readonly SortedDictionary<string, string> Fields =
new SortedDictionary<string, string>
{ ... }
Run Code Online (Sandbox Code Playgroud)
我希望有一种方法可以让Intellisense为所定义的所有键提供提示Fields
.它提供的类中的方法和属性,包括列表Fields
属性,但是当我去访问Fields[
或者Fields["
,它说没有什么比我需要提供一个字符串键等.有没有办法让它告诉我一个字符串键列表,因为这是一个静态类属性,在编译后完全没有动态或更改?
我正在上数据库课程,讲师希望我们开发电子商务应用程序。她说我们可以使用我们喜欢的任何框架,现在我们已经过了学期的一半,她认为 Rails 做的太多,并希望我明确地编写我的 SQL 查询。
所以,我想做的是编写自己的函数并将它们添加到模型中,以基本上复制现有的功能(但使用我自己编写的 SQL)。
那么问题就变成了:
另外,我知道这是多么糟糕的做法,我只是不想在这一点上从头开始使用 PHP。
我不知道我在这里做错了什么.我有一个ListBox
,其DataContext
与ItemsSource
设置,但并没有什么的ListBox
,当我跑我的应用程序.在调试时,我的方法的第一行获取ListBox
永远不会被击中的项目.这就是我所拥有的:
// Constructor in UserControl
public TemplateList()
{
_templates = new Templates();
InitializeComponent();
DataContext = this;
}
// ItemsSource of ListBox
public List<Template> GetTemplates()
{
if (!tryReadTemplatesIfNecessary(ref _templates))
{
return new List<Template>
{
// Template with Name property set:
new Template("No saved templates", null)
};
}
return _templates.ToList();
}
Run Code Online (Sandbox Code Playgroud)
这是我的XAML:
<ListBox ItemsSource="{Binding Path=GetTemplates}" Grid.Row="1" Grid.Column="1"
Width="400" Height="300" DisplayMemberPath="Name"
SelectedValuePath="Name"/>
Run Code Online (Sandbox Code Playgroud)
在Template
类的一个实例上,有一个Name
属性只是一个string
.我想要的只是显示模板名称列表.用户不会更改a中的任何数据Template
,ListBox
只需要是只读的. …
我使用ILMerge将我的几个C#项目DLL合并到一个DLL中,用于整个解决方案.我让每个项目为Intellisense生成其文档的.XML文件,当我尝试使用我的合并DLL作为另一个解决方案的参考时,我无法显示这些注释.我将这些文件都放在同一目录中:
我尝试将单个项目XML文件重命名为MergedProjectDlls.XML,然后在Visual Studio中删除并重新添加引用,但是Intellisense仍然没有接受我在已重命名的项目XML文件中存在的注释.
我希望以某种方式将所有这些项目XML文件合并到一个名为MergedProjectDlls.XML的文件中.那可能吗?当Intellisense与MergedProjectDlls.dll位于同一目录时,它会自动接收吗?
编辑:刚刚在MSDN上找到了这个:
要使用生成的.xml文件与IntelliSense功能一起使用,请让.xml文件的文件名与要支持的程序集相同,然后确保.xml文件与程序集位于同一目录中.因此,在Visual Studio项目中引用程序集时,也会找到.xml文件.
并且:
除非使用/ target:module进行编译,否则file将包含指定包含编译输出文件的程序集清单的文件名的标记."
intellisense ilmerge build-process xml-documentation visual-studio
我的代码看起来很难看,而且我知道必须有更好的方法来做我正在做的事情:
private delegate string doStuff(
PasswordEncrypter encrypter, RSAPublicKey publicKey,
string privateKey, out string salt
);
private bool tryEncryptPassword(
doStuff encryptPassword,
out string errorMessage
)
{
...get some variables...
string encryptedPassword = encryptPassword(encrypter, publicKey,
privateKey, out salt);
...
}
Run Code Online (Sandbox Code Playgroud)
到目前为止这个东西并没有打扰我.这就是我打电话tryEncryptPassword
看起来如此丑陋,并且有重复,因为我用两种方法调用它:
public bool method1(out string errorMessage)
{
string rawPassword = "foo";
return tryEncryptPassword(
(PasswordEncrypter encrypter, RSAPublicKey publicKey,
string privateKey, out string salt) =>
encrypter.EncryptPasswordAndDoStuff( // Overload 1
rawPassword, publicKey, privateKey, out salt
),
out errorMessage
);
}
public bool method2(SecureString …
Run Code Online (Sandbox Code Playgroud) c# ×3
intellisense ×2
java ×2
ruby ×2
annotations ×1
audio ×1
delegates ×1
dictionary ×1
generics ×1
grammar ×1
ilmerge ×1
itemssource ×1
java-5 ×1
javascript ×1
jpa ×1
lambda ×1
listbox ×1
meteor ×1
model ×1
mp3 ×1
openjpa ×1
parsing ×1
raw-types ×1
refactoring ×1
regex ×1
sql ×1
sql-server ×1
treetop ×1
wpf ×1
xaml ×1