小编Tim*_*sée的帖子

从类中获取所有函数及其参数

我正在为我的CMS开发一个插件系统,使事件注册系统变得简单我需要一个可以执行以下操作的功能.

我需要一个函数,它将返回指定类中包含其参数类的所有函数.当然,如果从类中获取函数的函数和获取函数参数的所有类名的函数不同,那就没关系.

例如,如果您具有以下具有这些功能的类;

class MyClass {
    public function myFunction(Event $event) {
        // Function code
    }
}
Run Code Online (Sandbox Code Playgroud)

如果这样的东西可以归还,那将是很棒的;

Array() { 
    'myFunction' => Array() {
        0 => 'Event'
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

提前谢谢,TimVisée

php oop

2
推荐指数
1
解决办法
196
查看次数

Rust async-await:检查列表中的任何未来是否同时解析为真?

我正在尝试在 Rust async-await(即将稳定)中同时(而不是按顺序)运行期货列表,直到它们中的任何一个解析为true.

想象一下,有一个Vec<File>, 和一个为每个文件运行的 future 产生一个bool(可能是无序的)。这将是一个简单的顺序实现。

async fn my_function(files: Vec<File>) -> bool {
    // Run the future on each file, return early if we received true
    for file in files {
        if long_future(file).await {
            return true;
        }
    }

    false
}

async fn long_future(file: File) -> bool {
    // Some long-running task here...
}
Run Code Online (Sandbox Code Playgroud)

这有效,但我想同时运行其中一些期货以加快进程。我遇到了buffer_unordered()(on Stream),但无法弄清楚如何实现这一点。

据我了解join,鉴于您提供了一个多线程池,也可以使用类似的东西来同时运行期货。但我不知道如何在这里有效地使用它。

我尝试了这样的事情,但无法让它工作:

let any_true = futures::stream::iter(files)
    .buffer_unordered(4) // Run up to 4 concurrently …
Run Code Online (Sandbox Code Playgroud)

concurrency rust async-await

2
推荐指数
1
解决办法
483
查看次数

在JFrame中查找鼠标位置

我坚持以下.我正在编写游戏,我需要在JFrame中获取鼠标指针位置,我不需要在屏幕上获取指针位置,而只需要在JFrame中.当您使用MouseClick事件时,您可以在按下鼠标按钮时获取框架中的位置,但是我想在没有按下按钮时获取它的位置.我希望你理解我的问题.

java mouse swing

1
推荐指数
1
解决办法
4825
查看次数

Swing UIManager 默认系统外观

我正在编写一个 Java 应用程序,并使用 Swing 为其提供自定义的外观和感觉UIManager。有一个名为的方法UIManager.getSystemLookAndFeelClassName()返回系统的默认外观。我想知道当没有检测到系统外观时,它默认返回什么外观和感觉,是 Java 本身的 Metal 外观吗?

java user-interface swing look-and-feel

1
推荐指数
1
解决办法
3443
查看次数

根据水平和垂直速度计算方向和速度

我目前正在研究Java游戏,我想从所有游戏对象提供的水平和垂直速度计算方向和方向速度.我希望有一个类似下面的方法来计算物体朝向的方向/角度(基于它的水平和垂直速度);

public double getAngle() {
    // Calculate angle/direction from the horizontal and vertical speed here
    return angle;
}
Run Code Online (Sandbox Code Playgroud)

当然,我需要一种类似的方法来根据物体的水平和垂直速度计算物体的方向速度.

注意:当我问这个问题时,我没有学到任何关于几何/三角学的知识,因为我在第二或第三课.

java point angle direction

0
推荐指数
2
解决办法
4916
查看次数

为什么在这个C#表达式中不使用括号时&&运算符会中断?

我的一个朋友正在处理一个C#项目的拉取请求,但由于更改的构建失败而陷入编译器错误.我检查了语法,但确定它是正确的.

对于这个的代码行:

if (PreviewLink && Helpers.IsImageFile(path))
Run Code Online (Sandbox Code Playgroud)

编译器抱怨如下:

错误CS1525:无效的表达式术语'&&'
错误CS1002 :; 预期
错误CS1513:}预期

将此更改为以下修复了编译问题:

if ((PreviewLink) && (Helpers.IsImageFile(path)))
Run Code Online (Sandbox Code Playgroud)

我不明白这里发生了什么,编译器错误msbuild并没有太大帮助.有人可以解释为什么没有括号的第一个表达式无效?我错过了什么?


现在有一些关于代码本身的背景信息.&&运算符两侧的两个表达式都是booleans,请参阅以下两个签名:

public bool PreviewLink { get; set; }
// -- snip --
public static bool IsImageFile(string filePath)
Run Code Online (Sandbox Code Playgroud)

可以在此处找到修复编译问题的实际更改.

对于上面链接的更改,这些是针对失败的,然后成功提交的AppVeyor构建.本地构建给出了相同的结果.

.net c# compiler-errors syntax-error

0
推荐指数
1
解决办法
78
查看次数