我对javascript很新,但我很喜欢它的危险快速和松散的表现力.也就是说,我注意到显然在"使用严格"模式下操作时,您无法删除对象.我不是一个删除东西的忠实粉丝(因为从理论上讲,范围应该照顾到这一点),但我想知道删除这个功能背后的动机是什么?
我糊涂了.我认为Java8将从石器时代开始出现并开始支持lambda/closures.但是当我尝试:
public static void main(String[] args) {
int number = 5;
ObjectCallback callback = () -> {
return (number = number + 1);
};
Object result = callback.Callback();
System.out.println(result);
}
Run Code Online (Sandbox Code Playgroud)
它说number should be effectively final.那是呃,不是我认为的封闭.这听起来像是通过值而不是通过引用来复制环境.
奖金问题!
android会支持Java-8功能吗?
有没有一种情况,创建一个仿函数比使用lambda更有意义?
我知道我的问题是有效的反向时,在仿函数使用lambda,但我不认为在实践中的情况下一个仿函数会首选在拉姆达.有什么想法吗?
我一直在慢慢挖掘Visual Studio的SDK,但还不知道DTE代表什么.这是一个愚蠢的问题,但我似乎无法找到它.DTE非常实用,知道它的含义会非常酷.
如果我有一个页面:
<body>
@section SomeStuff {
<span>This is a section I just addered</span>
}
</body>
Run Code Online (Sandbox Code Playgroud)
布局是否有可能不呈现此部分,或者与概念上的工作方式相反.似乎能够不在页面上呈现某些部分是有用的(除非我正在考虑这个错误).
编辑:
包括错误信息可能会有所帮助,当我把一个部分进入主网页,在布局网页失败:The following sections have been defined but have not been rendered for the layout page "/Views/Layouts/_Layout1.cshtml": "SomeStuff".因为如果它迫使我来渲染页面或某事上的每个部分.
换句话说,在Layout.cshtml中,我不调用@RenderSection,但在Index.html中我有一个名为SomeStuffdefined 的部分.这合法吗?好像它迫使我渲染页面中的所有部分,但看起来部分应该是可选的,不是吗?
创建直接发射IL的方法与构建表达式树相比,是否存在性能差异?
这一直是我的一个刺激,所以我想我会寻求建议.如何在WPF(解决方案资源管理器)中组织模型/视图/ ViewModel?我似乎永远无法找到一个我满意的解决方案,所以我想知道是否有人在那里.
这看起来应该非常简单.我上课了:
class Simple
{
public:
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
...
}
};
Run Code Online (Sandbox Code Playgroud)
和我的WinMain:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR commandLine, int cmdShow)
{
Simple *simple = new Simple();
...
wndClass.lpfnWndProc = simple->WndProc;
...
}
Run Code Online (Sandbox Code Playgroud)
当我尝试时,我得到:
error C2440: '=' :cannot convert from 'LRESULT (__stdcall Simple::* )(HWND,UINT,WPARAM,LPARAM)' to 'WNDPROC'
Run Code Online (Sandbox Code Playgroud)
有什么理由我不能WndProc上课吗?看起来那样真的很有用.
这似乎没有意义,所以我显然做错了什么:
DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + @"\Test");
if (folder.Exists == false) {
folder.Create();
var doesItExists = folder.Exists;
}
Run Code Online (Sandbox Code Playgroud)
如果文件夹不存在,则创建该文件夹.除了doesItExists总是假的.如果我刚刚创建它,为什么会是假的呢?
在我的简单程序中:
#include <iostream>
#include <unistd.h>
#include <fcntl.h>
#include <sstream>
using namespace std;
int main(int argc, char *argv[]) {
stringstream ss;
ss << "What does the quick brown fox say?" << endl;
int file_descriptor = open("/dev/tty", O_RDONLY | O_WRONLY);
write(file_descriptor, ss.str().c_str(), ss.str().size());
}
Run Code Online (Sandbox Code Playgroud)
我使用组合打开终端流O_RDONLY| O_WRONLY,这似乎工作正常.我得到你应该使用O_RDWR它,因为它使语义更清晰,但我的问题是,如果加入两个现有的标志已经有效,为什么还要创建一个完整的另一个标志呢?是否有一些历史原因,或者我只是忽略了什么,这实际上并没有起作用?
c# ×5
c++ ×3
lambda ×2
asp.net-mvc ×1
c++11 ×1
closures ×1
ecmascript-5 ×1
functor ×1
java ×1
java-8 ×1
javascript ×1
linux ×1
mvvm ×1
reflection ×1
strict-mode ×1
winapi ×1
wpf ×1