一个简单的表达式
(x) - y
Run Code Online (Sandbox Code Playgroud)
根据是否x是类型名称进行不同的解释.如果x不是一个类型的名字,(x) - y只是减去y从x.但如果x是类型名称,则(x) - y计算负数y并将结果值转换为类型x.
在典型的C或C++编译器中,是否x是类型的问题是可回答的,因为解析器在处理了typedef或struct声明后立即将这些信息传递给词法分析器.(我认为这种必要的违反水平是C设计中最糟糕的部分.)
但是在Java中,x可能直到后面的源代码才定义.Java编译器如何消除这种表达式的歧义?
很明显,Java编译器需要多次传递,因为Java不需要在使用前声明.但这似乎意味着第一遍必须在解析表达式时做一个非常草率的工作,然后在稍后的传递中做另一个更准确的表达式解析.这似乎很浪费.
有没有更好的办法?
我正在尝试在编译时反序列化一个未知类型的数组.在运行时我发现了类型,但我不知道如何创建实例.
就像是:
Object o = Activator.CreateInstance(type);
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为没有无参数构造函数,Array似乎没有任何构造函数.
有没有办法检查特定的插件是否可用?
想象一下,您正在开发一个依赖于正在加载的另一个插件的插件.
例如,我希望jQuery Validation插件使用dateJS库来检查给定日期是否有效.如果dateJS可用,在jQuery Valdation插件中检测的最佳方法是什么?
我在几个不同的网站上有几个网页,我想完全镜像.这意味着我将需要图像,CSS等,并且需要转换链接.此功能类似于使用Firefox"将页面另存为"并选择"网页,完整".我想将文件和相应的目录命名为合理的(例如myfavpage1.html,myfavpage1.dir).
我无法访问服务器,它们不是我的页面.这是一个示例链接:单击我!
更多的澄清......我想要镜像大约100页(许多来自慢速服务器),我将在Solaris 10上完成工作并将结果每小时转储到一个samba挂载供人们查看.并且,是的,我显然已经尝试了几个不同的标志wget但我没有得到我正在寻找的结果.所以,指向GNU wget页面并没有多大帮助.让我从一个简单的例子开始.
wget --mirror -w 2 -p --html-extension --tries=3 -k -P stackperl.html "https://stackoverflow.com/tags/perl"
从这里,我应该看到stackper.html文件中的https://stackoverflow.com/tags/perl页面,如果我有正确的标志.
我编写了一个VBA应用程序,在Outlook中打开一个文件夹,然后遍历消息.我需要将消息体(通过一些调整)写入单个平面文件.我的代码如下......
Private Sub btnGo_Click()
Dim objOutlook As New Outlook.Application
Dim objNameSpace As Outlook.NameSpace
Dim objInbox As MAPIFolder
Dim objMail As mailItem
Dim count As Integer
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objInbox = objNameSpace.GetDefaultFolder(olFolderInbox)
count = 0
For Each objMail In objInbox.Items
lblStatus.Caption = "Count: " + CStr(count)
ProcessMailItem (objMail)
count = count + 1
Next objMail
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
有问题的部分是"ProcessMailItem".由于我并不过分关注此阶段的性能,因此对于此示例而言,非常无效的"打开,追加,关闭"文件方法很好.
我知道我可以花点时间用谷歌查找答案,但我先在这里查了一下,但没有好的答案.作为Stackoverflow的粉丝,我希望将其放在这里将有助于未来的开发人员寻找答案.谢谢你的耐心.
首先,让我们同意命名空间应该匹配文件夹结构,并且每个语言工件应该在它自己的文件中.
(请参阅解决方案中的文件夹是否应与命名空间匹配?).
接下来的问题是如何在磁盘上实际组织文件夹.
假设我在ABC命名空间中有ClassC,在ABCD命名空间中有ClassD.
我们还假设每个命名空间都构建在它自己的程序集(项目)中,并且命名空间根据公认的最佳实践从右到左依赖(ABCD可以依赖于ABC,它可以依赖于AB,它可以依赖于A).我感谢每个命名空间不必在一个单独的程序集中,但在一般情况下,我们将在单独的程序集中有一些命名空间,我的例子说明了这一点.
我可以看到(至少)两种创建文件夹树的方法 - 我称之为"嵌套文件夹"和"平面文件夹":
甲
--A.csproj
--B
---- ABcsproj
----Ç
------ ABCcsproj
------ classC.cs
------ d
-------- ABCDcsproj
-------- classD.cs
要么
A
--A.csproj
AB
--ABcsproj
ABC
--ABCcsproj
--classC.cs
ABCD
--ABCDcsproj
--classD.cs
你会看到我已经做了一些假设:
嵌套文件夹似乎更自然(我们都喜欢层次结构),但在大型解决方案中导航可能有点困难:
当您在VS中查看解决方案时,它会显示项目的平面列表,而不是嵌套视图.这看起来更像是"平面文件夹",因此在磁盘上组织文件夹以匹配VS中的视图可能是有好处的.
如果查看磁盘上的每个文件夹,您将看到该项目的文件夹文件加上命名空间的子文件夹:以C为例:
ç
--bin
--D
--obj
--properties
--ABCcsproj
--classC.cs
根据D的真实名称,D可能并不明显是命名空间文件夹而不是C命名空间中的组织文件夹.
我知道我们在.NET(8或9年前)和Java之前的第一天就有文件夹和命名空间,但是,就个人而言,我们似乎没有就大型的最佳实践项目组织达成共识解决方案.我真的很想知道你们都在想什么.
谢谢
迈克尔
我想自定义分组样式UITableView的背景和边框颜色.
我可以使用以下方法自定义背景颜色:
tableView.contentView.backgroundColor = [UIColor greenColor];
Run Code Online (Sandbox Code Playgroud)
但边框颜色仍然是我不知道如何改变的东西.
如何自定义分组样式表视图的这两个方面?
我正在对现有数据库进行一些架构更改.
我备份了数据库以获取开发副本,并进行了更改.我将创建一个单一的滚动脚本,以便在单个事务中迁移生产计算机上的更改.
是否存在创建回滚脚本的最佳实践,以解决部署问题?在我写之前,然后使用以下模式手工编写:
有更好的方法吗?
这是我的问题.我有一个数组,其中包含我需要查找天气的城市名称.所以我循环遍历每个城市并执行AJAX请求以检索天气.
var LOCATION = 'http://www.google.com/ig/api?weather=';
$( document ).ready( function() {
for( var cityIdx = 0; cityIdx < cities.length; cityIdx++ ) {
$.ajax({
type: 'GET',
url: LOCATION + cities[ cityIdx ],
dataType: 'xml',
success: function( xml ) {
if( $( xml ).find( 'problem_cause' ) != 0 ) {
// Do what I want with the data returned
var weather = $( xml ).find( 'temp_c' ).attr( 'data' );
}
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在成功功能中,我无法访问城市名称(通过城市[cityIdx]).我在for循环和成功函数中插入了一个alert(),似乎循环执行cities.length次,然后我得到成功函数警报.我的目标是简单地遍历每个城市,获取天气并在我的页面上显示它以及相关的城市名称.
另外,您建议我将内容与演示文稿分开?
谢谢.:)
c# ×2
jquery ×2
.net-2.0 ×1
ajax ×1
c ×1
casting ×1
cocoa-touch ×1
email ×1
flat-file ×1
foreach ×1
ios ×1
iphone ×1
java ×1
javascript ×1
mirror ×1
namespaces ×1
objective-c ×1
outlook ×1
outlook-vba ×1
parsing ×1
perl ×1
reflection ×1
rollback ×1
solution ×1
sql ×1
t-sql ×1
uitableview ×1
vba ×1
wget ×1