我知道这听起来像是对Lisp爱好者(以及其他动态语言爱好者)的亵渎,但是增强Clojure编译器以支持静态(编译时)类型检查有多难?
抛开支持和反对静态和动态类型的参数,这是否可行(不是"这是可行的")?
我想添加一个新的读取器宏来强制编译时类型(#^宏的增强版本)并将类型信息添加到符号表将允许编译器标记变量被滥用的位置.例如,在下面的代码中,我期望编译时错误(#*是"编译时"类型的宏):
(defn get-length [#*String s] (.length s))
(defn test-get-length [] (get-length 2.0))
Run Code Online (Sandbox Code Playgroud)
#^宏甚至可以与全局变量(*compile-time-type-checking*)一起重用,以强制编译器进行检查.
有关可行性的任何想法?
这不能在C#中完成.有办法吗?
...
笑,如果我的小双关语不被理解,我的意思是:我怎样才能将C#中的属性标记为NonSerialized?当然,当属性包含逻辑时,很自然地无法执行它,但是自动属性是可序列化的,因此,我希望有一些方法可以阻止它们的序列化.
你能帮我理解吗,
words.Aggregate((workingSentence, next) => + next + " " + workingSentence);
Run Code Online (Sandbox Code Playgroud)
从下面的代码片段?如果有人解释我在C#1.1中实现这一点,那就太好了.
(来自MS的片段) -
string sentence = "the quick brown fox jumps over the lazy dog";
// Split the string into individual words.
string[] words = sentence.Split(' ');
// Prepend each word to the beginning of the
// new sentence to reverse the word order.
string reversed = words.Aggregate((workingSentence, next) =>
next + " " + workingSentence);
Console.WriteLine(reversed);
// This code produces the following output:
//
// dog …Run Code Online (Sandbox Code Playgroud) 我正在开发一个HTML5移动应用程序,我最初通过CSS设置了DIV项目的背景,如下所示:
background-image: url('images/ClanSpider.png');
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我有一个方法可以根据使用jQuery从前一个方法的下拉列表中进行的选择来更改背景DIV:
function ResetMyHonor()
{
ClanImage = 'images/Clan' + MyClanName + '.png';
$("#MyClanName").html(MyClanName);
$("#MyHonorBox").css('backgroundImage', 'url(' + ClanImage + ')');
}
Run Code Online (Sandbox Code Playgroud)
当我在我的页面的根目录时,所有这一切都很好.但是,我在应用程序中有一些链接使用哈希标记来导航页面(例如#MyHonor).当我导航到其中一个标签并调用上面的重置功能时,图像会中断.当我拉起Chrome Inspector查看DIV标签时,它表示它尝试加载的图像是"images/MyHonor/ClanSpider.png",它不存在.
我知道CSS url会在应用程序中引用它的位置生成链接,但是在应用程序中移动CSS文件的位置并不重要.
有没有办法让我重写url处理的内容或指定DIV背景图像的替代方法,而不进行任何类型的服务器端处理?理想情况下,此应用程序将运行HTML5的清单缓存功能,因此我将无法访问任何基于服务器的语言.
如何将1个数据列中的1个数据列复制到新的数据表中.当我尝试这样做时,我得到错误列'XXX'已经属于另一个DataTable.?
dataColumn = datatable1.Columns[1];
datatable2 = new DataTable();
datatable2.Columns.Add(dataColumn);
Run Code Online (Sandbox Code Playgroud)
提前致谢
我正在为幼儿制作一个简单的点击式游戏.因为有些孩子有身体限制,我想让他们有可能使用操纵杆作为替代输入设备.
任何人都可以给我一些建议,提示或一些示例C#(甚至VB.net)代码如何实现这一点?
我宁愿不使用DirectX中的东西,因为我认为这对于这种类型的游戏来说太过分了.
谢谢!
更新:
我阅读了给定链接上的大部分信息.我试图让DirectInput进入VS 2010,但是我收到一个关于无法找到的引用的错误.我搜索网的解决方案,但在很多地方,我读了DirectX是过时,我应该使用XNA.但我发现的有关XNA的所有信息都与Windows Phone和XBox有关.在Microsoft XNA开发者中心,他们说,如果你想开发的Windows,你必须使用DirectX和这使我又回到了起点!
有人可以帮我回到正轨吗?我只想在我的Windows WPF应用程序中使用操纵杆,而我正在使用VS 2010 C#.谢谢.
我想得到的是非常喜欢time(),但应该是毫秒准确:
2010-11-15 21:21:00:987
Run Code Online (Sandbox Code Playgroud)
这可能在PHP?
我希望能够在不增加行计数器的情况下读取"下一行",以便下次读取命令时它将读取同一行.
例:
这是第一行,
这是第二行,
这是第三行
我希望能够知道第二行说"这是第二行",但没有推进我的计数器以便我的程序:
print <>;
print unknown_read_command;
print <>;
Run Code Online (Sandbox Code Playgroud)
将在屏幕上打印:
这是第一行,
这是第二行,
这是第二行
而在更一般的情况下,我如何更改和移动指针到任何方向的线和我想要的任何数量?
我可以在Linux上使用QT Creator进行C(非C++)非GUI编程吗?
或者仅适用于C++ + QT?
我是来自php文件的JSON响应.
[{"NAME":"Kiev"},{"NAME":"Kiev metro"},{"NAME":"Kiev-Dnepro"},{"NAME":"Kiev-Dnepro"},{"NAME" : "基辅顿涅兹克"},{ "NAME": "基辅顿涅兹克"}
如何将其用于标准Jquery自动完成?自动完成功能请求但它似乎无法解析此json的响应(简单数组工作正常).请帮帮我
德林,是的,就是这样.工作良好!但现在我想稍微修改一下.我得到更多数据作为响应,我想在主要自动完成输入附近显示它
var infoGISName = null;
var infoGISType = null;
var infoGISLocationID = null;
var infoGISParentID = null;
$('#GISName').autocomplete({
source: function(request, response) {
$.getJSON("autocomplete.php", { term:
request.term }, function(result) {
response($.map(result, function(item) {
infoGISName = item.NAME;
infoGISType = item.GIS_TYPE;
infoGISLocationID = item.LOCATION_ID;
infoGISParentID = item.PARENT_ID;
return item.NAME;
}));
});
},
change: function(event, ui) {
$('#infoGISName').html(infoGISName);
$('#infoGISType').html(infoGISType);
$('#infoGISLocationID').html(infoGISLocationID);
$('#infoGISParentID').html(infoGISParentID);
},
minLength:3
});
});
Run Code Online (Sandbox Code Playgroud)
那么当我在自动完成输入中更改文本时如何更改字段中的数据?现在我只看到JSON记录集中的最后一个值