2012-11-07 32 views
12

Tôi có hai Perl 6 file:Làm thế nào để bao gồm tập tin trong Perl 6

hello.p6:

sub hello 
{ 
    say 'hello'; 
} 

và main.p6:

require 'hello.p6'; 

hello(); 

Nhưng đừng làm việc. Làm thế nào để có thể bao gồm các tập tin đầu tiên trong kịch bản chính?

+0

bạn có thể làm rõ lý do tại sao nó không hoạt động? lỗi gì bạn nhận được? cũng có, tại sao không xem xét sử dụng các gói và mô-đun Xuất khẩu? – Blaskovicz

+0

@Blaskovicz - perl6 không sử dụng Trình xuất. – Coke

Trả lời

4

Sử dụng cú pháp tập tin rõ ràng và danh sách xuất khẩu rõ ràng dường như làm việc cho tôi trong Rakudo:

main.p6:

require Hello:file('Hello.p6') <hello>; 

hello(); 

hello.p6:

sub hello { 
    say 'hello'; 
} 

Nguồn: http://perlcabal.org/syn/S11.html#Runtime_Importation

5

Chỉ để ghi lại, giải pháp thích hợp là sử dụng mô-đun:

file Hello.pm6 hello.p6

module Hello; 
sub hello() is export { 
    say 'hello'; 
} 

File:

use v6; 
use lib '.'; # to search for Hello.pm6 in the current dir 
use Hello; 
hello;