Perl 内联::java研究配置
内联文档对学习如何使用学习配置没有太大帮助, 有人能解释一下调用一个简单的void方法打印一个方法(比如Hello())所涉及的语法吗Perl 内联::java研究配置,perl,inline,perl-module,Perl,Inline,Perl Module,内联文档对学习如何使用学习配置没有太大帮助, 有人能解释一下调用一个简单的void方法打印一个方法(比如Hello())所涉及的语法吗 另外,对于外部java文件,是否需要将其放在特定的目录中,还是放在perl脚本的同一目录中?让我们从文件/home/foo/java\u src/Hello.java开始,该文件包含: public class Hello { public Hello() {} public void instance_hello() { System.out.
另外,对于外部java文件,是否需要将其放在特定的目录中,还是放在perl脚本的同一目录中?让我们从文件
/home/foo/java\u src/Hello.java
开始,该文件包含:
public class Hello {
public Hello() {}
public void instance_hello() { System.out.println("hello world"); }
public static void static_hello() { System.out.println("HELLO WORLD"); }
}
首先解决第二个问题,使用内联Java…
之后的第一个参数可以是文件名,因此您可以将源文件放在任意位置,并在perl代码中通过其文件名引用它:
use Inline Java => '/home/foo/java_src/Hello.java';
$obj = Hello->new();
$obj->instance_hello(); # "hello world"
Hello->static_hello(); # "HELLO WORLD"
请注意,到目前为止,您不需要进行研究。Hello
类是在源代码中定义的,由Inline::Java
模块直接读取,因此该模块在Perl中自动创建并填充Hello
命名空间
STUDY
针对的类不是由Inline::Java直接解析的类。因此,让我们假设我们的Hello
类已编译成一个名为/home/foo/jars/Hello.jar
的jar
文件。现在要使用Hello
类,您需要(1)在CLASSPATH
中包含Hello.jar
,以及(2)使用STUDY
告诉Inline::Java
创建Hello
命名空间:
use Inline Java => 'STUDY',
CLASSPATH => '/home/foo/jars/hello.jar',
STUDY => ['Hello'];
$obj = Hello->new;
Hello->static_hello; # "HELLO WORLD"
$obj->instance_hello; # "hello world"
我们包括第一个参数STUDY
,以向Inline::Java
发出信号,表明我们没有将任何源代码直接传递给模块。我们还可以传递有效的源代码或有效的源代码文件名
use Inline Java => 'public class Nothing() { }',
CLASSPATH => '/home/foo/jars/hello.jar',
STUDY => ['Hello'];
这是一个非常狭隘的主题(使用Inline::Java在Perl脚本中包含Java代码),恐怕需要一段时间才能找到答案。你可能会有更好的运气订阅和张贴上inline@perl.org. 有关详细信息,请参阅。