问题标签 [program-flow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
360 浏览

java - OOP设计:如何决定程序流程和负责方法的类(JSFML库)

我正在设计一个 2D 游戏来练习 Java 和面向对象编程(我正在使用 JSFML 库,如果有帮助的话),我对如何最好地设计以下内容有疑问:

我正在使用的库提供了一个Drawable由可见游戏元素(玩家、敌人、背景等)实现的界面。我也有一个RenderWindow我将在其上绘制Drawable对象。

事情是这样的,RenderWindow有一个在当前Window上draw(Drawable d)绘制对象的方法,而对象有一个在传递的上绘制当前对象的方法。DrawableDrawabledraw(RenderWindow r)DrawableRenderWindow

如果他们做的事情基本相同,我应该使用哪一个?为什么?我应该考虑什么来决定?我使用 HashMap 来存储Drawable对象。我应该将 HashMap 中的 传递RenderWindowDrawables还是将 HashMap中的 传递DrawablesRenderWindow?任何建议表示赞赏。

0 投票
1 回答
351 浏览

php - 用于发布到 DOMPDF 的动态生成的 html 输入的 PHP 程序流程

我是编程新手,有一个控制流问题。我正在使用 php 和 DOMPDF 库来生成 PDF。

我有一个 jQuery 脚本,它将为额外的一组输入(最多 10 组 [20 个输入])动态生成输入字段。这让我面临以下困境。我已经成功测试了以下 if 语句将提供我期望的功能:

但是,这会使我的代码看起来很乱。您能否就解决这种程序流程情况的最有效方法提供建议?

0 投票
4 回答
136 浏览

python - 在 Python 中破译大型程序流

我正在学习如何设置大型(356 文件)复杂的 Python 程序。除了手动阅读和解析代码之外,有没有什么好的方法来跟踪程序流程呢?

有两种我认为有用的方法:

  1. 类似于 Bash 的“set -x”
  2. 显示哪个文件输出每一行输出的东西

是否有任何方法可以执行上述操作,或者您发现任何其他有用的方法?

0 投票
1 回答
3593 浏览

ruby - 如何突破 Ruby 中的 begin 块?

我怎样才能突破开始块并跳到救援块?

我尝试使用next不起作用。

0 投票
1 回答
464 浏览

go - 在 Golang 中推迟延期

我是 Go 新手,我必须编写一个应用程序,该应用程序必须在各个点打开大量文件。打开每个文件的代码是

如果出现任何问题,check只需调用where即可。panic

现在,正如我所说,该片段重复了很多次。我想要这样的东西:

当然一旦foo返回,defer就会启动并关闭文件。

有没有办法推迟一个函数的延迟,直到它的调用者决定它的时间?

到目前为止,我尝试做的是,将 defer 放在一个匿名函数中,foo返回它并让调用者执行(最好在单行中)。然而,我在实现这一点时遇到了一些障碍,我什至不确定这是否是正确的方法。

tl;dr:有没有办法将延迟推迟到 Go 中的调用函数?

0 投票
1 回答
129 浏览

c++ - 如何从 void 中脱离当前范围,以便回到主范围?我需要做什么?

我的错误:

我的实际程序完全不同并且更大(因此不需要标题)。我写这篇文章是为了快速展示我的问题。我如何摆脱该 void 函数的范围并返回 main (我的程序菜单实际所在的位置)?

0 投票
3 回答
444 浏览

java - 如何在 switch 语句中合并案例?

在我目前正在处理的一个程序中,我正在使用一个 switch 语句,在许多情况下会产生相同的结果。我当前代码的相关位如下所示:

我想知道他们是否是一种合并执行该操作的案例的方法是这样的方式(伪代码):

0 投票
4 回答
811 浏览

java - java中的try-catch-finally块

根据我的理解,我想遵循最后释放资源的最佳实践,以防止任何连接泄漏。这是我在 HelperClass 中的代码。

我的疑问是,由于finally块无论如何都会被执行,dynamoDB是否会返回空连接,因为它将在finally块中关闭然后执行return语句?TIA。

0 投票
2 回答
146 浏览

java - 在Java中将对象设置为null和程序流程

我想要一些帮助来理解如何将对象设置为 null 在 java 中的工作原理。我有一种情况,乍一看似乎设置为 null 的对象突然不为 null,但显然情况并非如此。

我有一个类,我在其中创建一个对象。这个对象是一个场景。这是一个 Open GL ES 2.0 项目,因此该场景的 render() 和 updateLogic() 方法是从 onDrawFrame 调用的(这是通过场景管理器控制的,因此我们可以轻松切换场景)。

所以,我可能会有这样的事情(出于问题的目的,代码被删减):

在上述情况下,处理被移交给myScene,看起来像这样:

因此,当我使用我的场景管理器设置场景时,处理将移交给该场景,并且它的 updateLogic 和渲染方法会从 onDrawFrame 连续调用。

当我运行我的代码时,我很惊讶它没有因 NullpointerException 而崩溃。日志是这样的:

如您所见,“myScene”在调用 cleanUp() 方法并将其设置为 null 之前一直有效。但是代码然后返回到 myScene 以完成,它仍然有效(不为空)。

我真的很想了解 Java 中的事情是如何工作的——为什么它在一分钟内(或从一个地方)似乎是空的,然后又不是(从另一个地方)?

0 投票
2 回答
288 浏览

android - 在完成 onCreate() 之前等待用户交互

在我的应用程序中,我在onCreate中设置了所有内容,然后启动了一个异步任务,该任务设置加载我的所有资源等……在异步任务启动后,我将启动屏幕添加到我的布局中。加载完所有内容后,启动画面会消失,我的 Open GL 渲染器会显示在下方。

我正在尝试做的是添加一个对话框屏幕(基本上,另一个显示位图的View类)。而且,在用户按下我的对话屏幕中的屏幕之前,我不希望发生任何 Splash 的事情。

它会是这样的(注意,这只是我真实 onCreate 的摘录,但应该足以说明问题)

但是,当我运行上述程序时,它会显示启动画面,加载所有内容,然后关闭启动画面,留下对话框。

如何在 setContentView 之后暂停(或产生暂停效果的东西) onCreate 方法,直到用户点击屏幕?(注意,我正在使用我的许可对话框对象中的 onTouch(View v, MotionEvent event) 方法等待触摸事件。

基本上,异步不应该在用户点击屏幕之前开始。如果无法做到这一点,我该怎么做才能达到我想要的效果?