我已经阅读了所有的论点:告诉SQL你想要什么,而不是如何得到它.使用基于集合的方法而不是程序逻辑.不惜一切代价避免使用游标和循环.
不幸的是,我已经绞尽脑汁几周了,我无法弄清楚如何提出一种基于集合的方法来COUNT为按顺序排列的时间顺序数据子集生成迭代.
以下是我正在处理的问题的具体应用.
我使用包含多年播放数据的数据库进行与足球相关的研究,该数据当然按时间顺序按年,游戏和比赛排列.数据库加载到运行MySQL 5.0的Web服务器上.
core表格中包含了我对此特定问题所需的字段.以下是表格相关部分的一些示例数据:
GID | PID | OFF | DEF | QTR | MIN | SEC | PTSO | PTSD
--------------------------------------------------------
121 | 2455 | ARI | CHI | 2 | 4 | 30 | 17 | 10
121 | 2456 | ARI | CHI | 2 | 4 | 15 | 17 | 10
121 | 2457 | ARI | CHI | 2 | 3 | 53 | 17 | 10
121 | …Run Code Online (Sandbox Code Playgroud) 在阅读了几乎所有我能找到的有关延续的内容后,我仍然无法理解它们。也许是因为所有的解释都与 lambda 演算密切相关,我很难理解它。
一般来说,延续是在完成当前操作(即其余计算)后下一步要做什么的某种表示。
但随着种类繁多,事情变得更加棘手。也许你们中的一些人可以帮助我用我的自定义类比来帮助我,并指出我在理解中犯了错误的地方。
假设我们的函数被表示为对象,为了简单起见:
该类比类似于XY 连接语言。
所以,根据我的理解:
如果我的类比有误,请纠正我。
我使用菱形平方算法生成随机地形.它工作得很好,除了我将这些大锥形状伸出或伸入地形.问题似乎是每时不时地设置一个点太高或太低.
这是问题的图片

当我将平滑度设置得非常高时,可以更好地看到它

这是我的代码 -
private void CreateHeights()
{
if (cbUseLand.Checked == false)
return;
int
Size = Convert.ToInt32(System.Math.Pow(2, int.Parse(tbDetail.Text)) + 1),
SideLength = Size - 1,
d = 1025 / (Size - 1),
HalfSide;
Heights = new Point3D[Size, Size];
float
r = float.Parse(tbHeight.Text),
Roughness = float.Parse(RoughnessBox.Text);
//seeding all the points
for (int x = 0; x < Size; x++)
for (int y = 0; y < Size; y++)
Heights[x, y] = Make3DPoint(x * d, 740, y * d);
while (SideLength …Run Code Online (Sandbox Code Playgroud) algorithm height procedural-programming map procedural-generation
我在一些中型项目上使用过C++,但我从来没有在C中做过任何严肃的编程.
阅读完本文后,我开始想知道如何在没有类和异常的情况下使用C++ 11.我曾经听过干净的C这个词.Clean C应该是一个C++代码,它不使用ANSI C没有的C++特性,比如类或元编程.
有充足的资源如何有效地使用C语言以及如何在C++中完成它们.但是很难找到任何有关如何充分利用这两个方面的资源.
我的问题分为两部分:
-
#include <cstring>
namespace addressbook {
namespace contact {
struct contact {
char* name;
char* email;
};
void initialize(addressbook::contact::contact* contact)
{
contact->name = nullptr;
contact->email = nullptr;
}
void deinitialize(addressbook::contact::contact* contact)
{
delete[] contact->name;
delete[] contact->email;
}
void set_name(addressbook::contact::contact* contact, char* name)
{
delete[] contact->name;
contact->name = new char [strlen(name) + 1];
std::strcpy(contact->name, name);
}
void set_email(addressbook::contact::contact* contact, char* email)
{
delete[] contact->email;
contact->email …Run Code Online (Sandbox Code Playgroud) 在函数式语言(实际上我用过的所有函数式语言)中,语句和表达式之间没有区别,每个代码块的最后一个值是块的"返回值".另一方面,通常不被认为是纯粹功能的语言通常会引入这种区别.
作为我正在谈论的一个例子,以下python代码打印None:
def foo():
5 + 5
print(foo())
Run Code Online (Sandbox Code Playgroud)
而方案代码打印 10
(define (foo) (+ 5 5))
(display (foo))
Run Code Online (Sandbox Code Playgroud)
显然,我对那些喜欢一种风格的人的主观答案不感兴趣,而是客观原因.
对我而言,这种区别似乎使得语言的语法和实现更加复杂(一个不那么明显的例子就是模板和void类型的c ++标准中的必要例外,或者引入了"快捷方式if语句",比如?c - 受影响的语言)没有真正的好处 - 但很可能有一个原因,即使是新的现代语言仍然有这种区别.
language-agnostic procedural-programming functional-programming
这是我在 stackover 流中的第一篇文章。最近我开始阅读名为“植物的算法之美”的书,其中在第 1 章中,他解释了 L 系统。(您可以在此处阅读该章节)。
所以据我所知,有两种类型的 L 系统。边缘重写和节点重写。
边缘重写相对非常简单。有一个初始的起始多边形和一个生成器。初始多边形的每条边(边)都将被生成器替换。
但是这个节点重写非常混乱。从我收集到的信息来看,有两个或更多规则,并且每次迭代都将规则中的变量替换为其常量对应项。
对于海龟解释,这些是标准规则
F : Move turtle forward in current direction (initial direction is up)
+ : rotate turtle clock wise
- : rotate turtle anti clock wise
[ : Push the current state of the turtle onto a pushdown operations stack.
The information saved on the stack contains the turtle’s position and orientation,
and possibly other attributes such as the color and width of lines being drawn. …Run Code Online (Sandbox Code Playgroud) algorithm procedural-programming l-systems procedural-generation fractals
对于相当主观的问题感到抱歉,但我希望得到一个比我更有经验的人的意见.
我对ajax驱动的PHP应用程序非常了解,虽然我在客户端的标记和行为之间有很好的分离,但我的PHP慢慢变得有点混乱.到目前为止,我做得很好,分成几部分,并以一种我没有太多重复的方式构建,但我肯定会开始看到它如何成为一个足够代码的负担.所以我一直在阅读有关OOP和MVC的内容,现在我正在尝试决定是否值得重构CodeIgniter或Kohana.直观地说,感觉这将是更多的工作而不是它的价值,但我知道我可能会在一段时间内唱出不同的曲调.
根据您的经验,今天在程序上编写一个严肃的应用程序是否被认为是绝对的hackish,或者是否有某些类型的应用程序更适合程序/结构编程.
我正在研究一个以程序风格编写的相当大的PHP项目(它是在PHP 5之前编写的),我不禁觉得我正在做的一些事情有点"hackish".其他地方的修改很容易破坏应用程序.我见过的所有设计模式和最佳实践似乎只适用于OOP.我可以使用PHP 5的OOP功能开始编写我的一些代码,但我不确定所有其他开发人员是否熟悉OOP.
对于那些对OOP更熟悉的人来说,程序式编程的本质是否只是"hackish"?是否有"最佳实践"书籍涉及如何保持大型程序应用程序的可维护性,并且不太可能引入新的错误?
我知道我可以以程序的方式应用OOP设计原则/模式,但如果我要这样做,我不妨使用PHP的OOP功能.也许我对程序范式没有足够的理解?
我已经研究了这个主题了几天,并且知道它如何起作用,但我想我会在这里发布其他一些想法.
我想做的是生成在游戏中使用的太空飞船精灵/图像.外观和感觉应该类似于这些: 飞船精灵http://i50.tinypic.com/10z1hq9.png
基本上,我的想法归结为这样的事情:
生成形成船舶"核心"的基础形状.形状可包括圆形,椭圆形,菱形,圆角矩形等.
生成较小的子形状,这些子形状覆盖在核心形状上,或通过简单的管道连接.(镜像所有子形状以创建对称船.)
生成更小的子形状(细节形状),将它们覆盖在任何现有形状上.(这些形成了船的"细节".)
选择3-5种颜色,随机遮盖每个形状,使覆盖的形状颜色不同.
将纹理或渐变应用于核心和子形状(不是细节形状),使船具有三维外观.
有没有人知道如何实现这样的算法来实现宇宙飞船的理想外观?
我最近观看了一个JavaScript视频教程,其中包含与此类似的代码:
(function (){
var b = 10,
c = 20,
d = 50;
var e = function(){
return b + c + d;
};
return e();
}());
Run Code Online (Sandbox Code Playgroud)
这是一种常见的JS编码模式.作者说这是Javascript代码中程序方法的一个例子.我不明白,你能解释一下吗?