程序设计

专业和发烧友程序员的问答



20
C ++是上下文无关的还是上下文相关的?
我经常听到有人声称C ++是上下文相关的语言。请看以下示例: a b(c); 这是变量定义还是函数声明?这取决于符号的含义c。如果c是变量,则a b(c);定义一个名为btype 的变量a。直接用初始化c。但如果c是类型,则a b(c);声明一个名为的函数b,该函数采用a c并返回a a。 如果您查看无上下文语言的定义,它将基本上告诉您所有语法规则的左手边必须仅由一个非终结符组成。另一方面,上下文相关的语法允许在左侧使用任意字符串的终止符和非终止符。 浏览“ C ++编程语言”的附录A,我找不到一个单独的语法规则,该规则除左侧有一个非终结符外还没有其他内容。这意味着C ++是无上下文的。(当然,每种上下文无关的语言也是上下文敏感的,因为上下文无关的语言构成了上下文敏感语言的子集,但这并不是重点。) 那么,C ++是上下文无关的还是上下文相关的?


18
如何获得元素的渲染高度?
如何获得元素的渲染高度? 假设您的<div>元素内部包含一些内容。内部的内容将扩大的高度<div>。当您没有明确设置高度时,如何获得“渲染的”高度。显然,我尝试过: var h = document.getElementById('someDiv').style.height; 有这样做的技巧吗?如果有帮助,我正在使用jQuery。
405 javascript  jquery  css  height 



21
如何使用Laravel Eloquent创建多个Where子句查询?
我正在使用Laravel Eloquent查询构建器,并且在一个查询中需要WHERE多个条件的子句。它可以工作,但并不优雅。 例: $results = User::where('this', '=', 1) ->where('that', '=', 1) ->where('this_too', '=', 1) ->where('that_too', '=', 1) ->where('this_as_well', '=', 1) ->where('that_as_well', '=', 1) ->where('this_one_too', '=', 1) ->where('that_one_too', '=', 1) ->where('this_one_as_well', '=', 1) ->where('that_one_as_well', '=', 1) ->get(); 有没有更好的方法可以做到这一点,还是我应该坚持使用这种方法?

17
为什么npm install说我有未满足的依赖关系?
我有一个节点包。当我npm install从软件包根目录运行时,它会安装很多东西,但随后会打印出一些如下所示的错误消息: npm WARN未满足依赖项/ Users / seanmackesey / google_drive / code / explore / generator / node_modules / findup-sync / node_modules / glob需要graceful-fs@'~1.2.0'但会加载 我一定对确切的npm install功能感到困惑。如果它检测到依赖性,是否应该安装它?在什么情况下会给我这样的错误消息,我该如何解决依赖关系?

16
如何在PHP中保护数据库密码?
当PHP应用程序建立数据库连接时,通常当然需要传递登录名和密码。如果我为我的应用程序使用单个最小权限登录名,则PHP需要在某个地方知道该登录名和密码。保护该密码的最佳方法是什么?似乎只在PHP代码中编写它不是一个好主意。
404 php  database  security 

18
等到所有诺言都完成,即使有些诺言被拒绝
假设我有一组Promise正在发出网络请求的,其中一个会失败: // http://does-not-exist will throw a TypeError var arr = [ fetch('index.html'), fetch('http://does-not-exist') ] Promise.all(arr) .then(res => console.log('success', res)) .catch(err => console.log('error', err)) // This is executed 假设我要等到所有这些完成为止,无论是否失败。我可能无法使用的资源可能会出现网络错误,但是如果可以得到,我会在继续之前希望这样做。我想优雅地处理网络故障。 既然Promises.all没有任何余地,那么在不使用Promise库的情况下,推荐的处理方式是什么?

15
可以进行功能GUI编程吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我最近抓到了FP错误(试图学习Haskell),到目前为止我所看到的内容(一流的函数,惰性评估以及所有其他优点)给我留下了深刻的印象。我还不是专家,但是我已经开始发现“功能上”的推理比基本算法的必要性更容易(而且我很难回头去找)。 但是,当前FP似乎保持不变的一个领域是GUI编程。Haskell方法似乎只是包装命令式GUI工具包(例如GTK +或wxWidgets),并使用“ do”块来模拟命令式样式。我没有使用过F#,但是我的理解是,将OOP与.NET类一起使用时,它可以执行类似的操作。显然,这是有充分的理由的-当前的GUI编程都是关于IO和副作用的,因此在大多数当前的框架中不可能进行纯功能编程。 我的问题是,是否可以使用功能性方法进行GUI编程?我很难想象这在实践中会是什么样子。是否有人知道尝试这种方法的任何框架(实验框架或其他框架)(甚至是为功能性语言从头开始设计的任何框架)?还是仅使用混合方法的解决方案,对于GUI部件使用OOP,对于逻辑使用FP?(我只是出于好奇而问-我很想认为FP是“未来”,但是GUI编程似乎需要填补很大的空白。)

3
.NET JIT潜在错误?
当在Visual Studio中运行发行版并在Visual Studio之外运行发行版时,以下代码给出不同的输出。我使用的是Visual Studio 2008,目标是.NET 3.5。我也尝试过.NET 3.5 SP1。 在Visual Studio外部运行时,应该启动JIT。或者(a)我缺少的C#发生了一些微妙的变化,或者(b)JIT实际上是错误的。我怀疑JIT会出错,但是我没有其他机会... 在Visual Studio中运行时的输出: 0 0, 0 1, 1 0, 1 1, 在Visual Studio外部运行发行版时的输出: 0 2, 0 2, 1 2, 1 2, 是什么原因? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { struct IntVec { public int x; public int …
404 c#  jit 


22
xcopy文件,重命名,取消显示“ xxx是否指定文件名...”消息
这似乎很简单,也许我只是忽略了正确的标志,但是我将如何在一个命令中将文件从一个目录复制到另一个目录并在目标目录中重命名?这是我的命令: if exist "bin\development\whee.config.example" if not exist "TestConnectionExternal\bin\Debug\whee.config" xcopy "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\whee.config" 每次都会提示我以下内容: TestConnectionExternal \ bin \ Debug \ whee.config是否在目标上指定文件名或目录名(F =文件,D =目录)? 我想取消此提示;答案永远是F。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.