ChucK - 在另一个文件中使用类

问题描述 投票:0回答:1

我正在使用 ChucK 编程语言进行编程。我想使用在另一个文件中声明的类。

我在名为

Foo
的文件中声明了一个名为
foo.ck
的公共类。然后我在另一个文件中添加了文件
foo.ck
并尝试使用该类。我遇到了这个错误:

[using_foo.ck]:line(2): undefined type 'Foo'...
[using_foo.ck]:line(2): ... in declaration ...

带有类的文件(

foo.ck
):

public class Foo {}
Foo foo;

尝试使用

Foo
(
using_foo.ck
) 的文件:

Machine.add("foo.ck");
Foo foo;

如果我独立运行,带有类

foo.ck
的文件
Foo
可以工作,但我无法使用其他文件中的类。

卡盘版本:

chuck version: 1.5.0.0 (chai)
   linux (pulse) : 64-bit
class public chuck
1个回答
0
投票

答案如下:

在ChucK中,要使一个文件知道另一个文件中的类,您应该“spork”包含类定义的文件并确保代码执行的顺序。以下是修复方法:

  1. 确保
    foo.ck
    仅包含类定义:
public class Foo {}
  1. 在你的主文件(using_foo.ck)中:
spork ~ Machine.add("foo.ck");
<<< now >>> => now + 10::ms;  // small delay to ensure Foo is loaded
Foo foo;

延迟 (

<<< now >>> => now + 10::ms;
) 确保在您尝试在主文件中实例化
Foo
类之前正确加载它。根据程序的复杂程度根据需要调整延迟。

© www.soinside.com 2019 - 2024. All rights reserved.