2017-01-30 35 views
5

Tôi hơi bối rối bởi phạm vi thay đổi trong mục 0.8.12. Có vẻ như các tham số chức năng có cùng phạm vi với các biến toàn cầu - có thể xảy ra không, hoặc tôi đang làm điều gì sai?Phạm vi tham số chức năng trong qore là gì?

3.1.0 [email protected] ~$ cat zk1.q 
%new-style 
%strict-args 

sub fun(string v) 
{ 
    print("xxx\n"); 
} 

string v = "zzz"; 
3.1.0 [email protected] ~$ qore zk1.q 
unhandled QORE System exception thrown in TID 1 at 2017-01-30 08:10:32.612137 Mon +01:00 (CET) at zk1.q:4 
PARSE-ERROR: local variable 'v' was already declared in the same block at zk1.q:9 

Cám ơn lời giải thích ...

Trả lời

6

biến địa phương trong phạm vi cấp cao nhất là các biến thread-địa phương một cách hiệu quả toàn cầu.

Xem:

này làm cho nó không thể sử dụng tên biến giống như một biến tham số (mà là một biến địa phương trong phạm vi chức năng, phương pháp, hoặc đóng cửa được xác định).

Các vấn đề liên quan