Nội phân Chính showShow
- Là gì…?
- Shell a.k.a.
- Thư viện tiêu chuẩn
- Quản lý gói
- Sử dụng PKG trong phiên Julia
- Trong chế độ gói tương tác
- Ký tự và chuỗi
- Số ngẫu nhiên
- Đại số tuyến tính
- Kiểm soát luồng và vòng lặp
- Từ điển
- Chức năng thu thập
- Thiếu và không có gì
- Tính toán song song
- Hướng nội và phản ánh
- Các gói và dự án đáng chú ý
- Đặt tên quy ước
- Lời khuyên hiệu suất
Là gì…?
Julia là một ngôn ngữ lập trình nguồn mở, đa nền tảng, cấp cao, hiệu suất cao cho điện toán kỹ thuật.
Julia có máy ảo cấp thấp LLVM [LLVM] là cơ sở hạ tầng trình biên dịch để xây dựng mã máy trung gian và/hoặc mã nhị phân. -dựa trên tổng hợp JIT chỉ trong thời gian xảy ra vào thời gian chạy thay vì trước khi thực hiện, điều đó có nghĩa là nó cung cấp cả tốc độ của mã được biên dịch và tính linh hoạt của việc giải thích. Trình biên dịch phân tích các loại mã và thông tin, sau đó mã LLVM được tạo, lần lượt được biên dịch thành mã gốc. Trình biên dịch cho phép nó phù hợp với hiệu suất của các ngôn ngữ như C và Fortran mà không gặp rắc rối của mã cấp thấp. Bởi vì mã được biên dịch trên con ruồi, bạn có thể chạy mã [bit của] trong một shell hoặc replet-eval-eval in-loop, là một phần của quy trình làm việc được đề xuất. Low-Level Virtual Machine [LLVM] is a compiler
infrastructure to build intermediate and/or binary machine code. -based JIT Just-In-Time compilation occurs at run-time rather than prior to execution, which means it offers both the speed of compiled code and the flexibility of interpretation. The compiler parses the code and infers types, after which the LLVM code is generated, which in turn is compiled into native code. compiler that allows it to match the performance of languages such as C and FORTRAN without the hassle
of low-level code. Because the code is compiled on the fly you can run [bits of] code in a shell or REPL Read-Eval-Print-Loop , which is part of the recommended workflow .
Julia được gõ linh hoạt, cung cấp nhiều công văn vì các loại đối số chức năng được xác định tại thời gian chạy, trình biên dịch có thể chọn triển khai được tối ưu hóa cho các đối số được cung cấp và kiến trúc bộ xử lý. , và được thiết kế cho sự song song và tính toán phân tán. Because function argument types are determined at run-time, the compiler can choose the implementation that is optimized for the provided arguments and the processor architecture. , and is designed for parallelism and distributed
computation.
Julia có một người quản lý gói tích hợp.
Julia có nhiều chức năng toán học tích hợp, bao gồm các chức năng đặc biệt [ví dụ: gamma] và hỗ trợ các số phức tạp ngay lập tức.
Julia cho phép bạn tạo mã tự động nhờ các macro lấy cảm hứng từ Lisp.
Julia được tạo ra vào năm 2012.
Điều cơ bản
Phân công | answer = 42 x, y, z = 1, [1:10; ], "A string" __
x, y, z = 1, [1:10; ], "A string"
x, y = y, x # swap x and y
|
Tuyên bố liên tục | const DATE_OF_BIRTH = 2012 |
Nhận xét cuối cùng | for arg in ARGS
println[arg]
end
0 |
Nhận xét phân định | for arg in ARGS
println[arg]
end
1 |
Chuỗi | for arg in ARGS
println[arg]
end
2for arg in ARGS
println[arg]
end
3for arg in ARGS
println[arg]
end
4
for arg in ARGS
println[arg]
end
3
for arg in ARGS
println[arg]
end
4
|
Định nghĩa chức năng | for arg in ARGS
println[arg]
end
5for arg in ARGS
println[arg]
end
6for arg in ARGS
println[arg]
end
7
for arg in ARGS
println[arg]
end
6
for arg in ARGS
println[arg]
end
7
|
Chèn các ký hiệu latex | for arg in ARGS
println[arg]
end
8 + [Tab] |
Người vận hành
Số học cơ bản | for arg in ARGS
println[arg]
end
9, ________ 20, ________ 21, ________ 22 |
Số mũ | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
3 |
Phân công | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
4 |
Phân chia nghịch đảo | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
5 |
Phần còn lại | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
6 hoặc function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
7 |
Phủ định | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
8 |
Sự bình đẳng | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
9 |
Bất bình đẳng | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
0 hoặc function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
1 |
Ngày càng lớn hơn | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
2 và function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
3 |
Ít hơn hoặc bằng | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
4 hoặc function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
5 |
Lớn hơn hoặc bằng | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
6 hoặc function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
7 |
Hoạt động yếu tố khôn ngoan | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
8function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
9
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
9
|
Không phải là một con số | # take any Number subtype and return it as a String
function stringifynumber[num::T]::String where T B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
3 trên dòng trống |
Chế độ trợ giúp | # here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
4 trên dòng trống |
Thoát chế độ đặc biệt / trở lại để trả lời | [Backspace] Trên dòng trống |
Thoát ra | # here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
5 hoặc [ctrl] + [d] |
Thư viện tiêu chuẩn
Để giúp Julia tải nhanh hơn, nhiều chức năng cốt lõi tồn tại trong các thư viện tiêu chuẩn đi kèm với Julia. Để làm cho các chức năng của họ có sẵn, hãy sử dụng
# here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
6. Dưới đây là một số thư viện tiêu chuẩn và các chức năng phổ biến.
# here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
7 | # here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
8, # here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
9, answer = 42 0 |
answer = 42 1 | answer = 42 2, answer = 42 3, answer = 42 4, answer = 42 5, answer = 42 6 |
answer = 42 7 | answer = 42 8, answer = 42 9, x, y, z = 1, [1:10; ], "A string" 0, x, y, z = 1, [1:10; ], "A string" 1, x, y, z = 1, [1:10; ], "A string" 2 |
x, y, z = 1, [1:10; ], "A string" 3 | x, y, z = 1, [1:10; ], "A string" 4, x, y, z = 1, [1:10; ], "A string" 5, x, y, z = 1, [1:10; ], "A string" 6 |
x, y, z = 1, [1:10; ], "A string" 7 | x, y, z = 1, [1:10; ], "A string" 8, x, y, z = 1, [1:10; ], "A string" 9, x, y = y, x # swap x and y 0 |
x, y = y, x # swap x and y 1 | x, y = y, x # swap x and y 2, x, y = y, x # swap x and y 3 |
Quản lý gói
Các gói phải được đăng ký trước khi chúng được hiển thị cho Trình quản lý gói. Trong Julia 1.0, có hai cách để làm việc với Trình quản lý gói: với x, y = y, x # swap x and y
4 và sử dụng các chức năng x, y = y, x # swap x and y
5 hoặc bằng cách nhập
# here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
3 trong bản phát hành để vào chế độ quản lý gói tương tác đặc biệt. . Lưu ý rằng các công cụ mới đến ở chế độ tương tác trước, sau đó cũng thường có sẵn trong các phiên Julia thông thường thông qua mô -đun x, y = y, x # swap x and y
5.Sử dụng PKG trong phiên Julia
Danh sách các gói đã cài đặt [có thể đọc được] | x, y = y, x # swap x and y 9 |
Cập nhật tất cả các gói | const DATE_OF_BIRTH = 2012 0 |
Cài đặt const DATE_OF_BIRTH = 2012 1 | const DATE_OF_BIRTH = 2012 2 |
Xây dựng lại const DATE_OF_BIRTH = 2012 1 | const DATE_OF_BIRTH = 2012 4 |
Sử dụng const DATE_OF_BIRTH = 2012 1 [sau khi cài đặt] | # here we broadcast the subtraction of each mean value
# by using the dot operator
julia> using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
6 |
Xóa const DATE_OF_BIRTH = 2012 1 | const DATE_OF_BIRTH = 2012 8 |
Trong chế độ gói tương tác
Thêm const DATE_OF_BIRTH = 2012 1 | for arg in ARGS
println[arg]
end
00 |
Xóa const DATE_OF_BIRTH = 2012 1 | for arg in ARGS
println[arg]
end
02 |
Cập nhật const DATE_OF_BIRTH = 2012 1 | for arg in ARGS
println[arg]
end
04 |
Sử dụng phiên bản phát triển | for arg in ARGS
println[arg]
end
05 hoặc for arg in ARGS
println[arg]
end
06 |
Ngừng sử dụng phiên bản phát triển, trở lại phát hành công khai | for arg in ARGS
println[arg]
end
07 |
Ký tự và chuỗi
Tính cách | for arg in ARGS
println[arg]
end
08 |
Sợi dây | for arg in ARGS
println[arg]
end
09 |
Mã ký tự | for arg in ARGS
println[arg]
end
10 |
Ký tự từ mã | for arg in ARGS
println[arg]
end
11 |
Bất kỳ nhân vật UTF | for arg in ARGS
println[arg]
end
12for arg in ARGS
println[arg]
end
13
for arg in ARGS
println[arg]
end
13
|
Vòng lặp qua các ký tự | for arg in ARGS
println[arg]
end
14for arg in ARGS
println[arg]
end
15for arg in ARGS
println[arg]
end
7
for arg in ARGS
println[arg]
end
15
for arg in ARGS
println[arg]
end
7
|
Kết nối | for arg in ARGS
println[arg]
end
17 |
Chuỗi nội suy | for arg in ARGS
println[arg]
end
18for arg in ARGS
println[arg]
end
19
for arg in ARGS
println[arg]
end
19
|
Ký tự phù hợp đầu tiên hoặc biểu thức chính quy | for arg in ARGS
println[arg]
end
20 |
Thay thế chuỗi con hoặc biểu thức chính quy | for arg in ARGS
println[arg]
end
21 |
Chỉ số cuối cùng [của bộ sưu tập] | for arg in ARGS
println[arg]
end
22 |
Số lượng ký tự | for arg in ARGS
println[arg]
end
23 |
Biểu hiện thông thường | for arg in ARGS
println[arg]
end
24 |
Biểu hiện phụ | for arg in ARGS
println[arg]
end
25for arg in ARGS
println[arg]
end
26for arg in ARGS
println[arg]
end
27for arg in ARGS
println[arg]
end
28
for arg in ARGS
println[arg]
end
26
for arg in ARGS
println[arg]
end
27
for arg in ARGS
println[arg]
end
28
|
Tất cả các sự kiện | for arg in ARGS
println[arg]
end
29 |
Tất cả các lần xuất hiện [như người lặp] | for arg in ARGS
println[arg]
end
30 |
Cẩn thận với mã hóa unicode đa byte trong UTF-8:
for arg in ARGS
println[arg]
end
31
for arg in ARGS
println[arg]
end
31
Chuỗi là bất biến.
Số
Các loại số nguyên | for arg in ARGS
println[arg]
end
32 và for arg in ARGS
println[arg]
end
33, với for arg in ARGS
println[arg]
end
34, for arg in ARGS
println[arg]
end
35 |
Các loại dấu phẩy động | for arg in ARGS
println[arg]
end
36 với for arg in ARGS
println[arg]
end
37for arg in ARGS
println[arg]
end
38
for arg in ARGS
println[arg]
end
38
|
Giá trị tối thiểu và tối đa theo loại | for arg in ARGS
println[arg]
end
39for arg in ARGS
println[arg]
end
40
for arg in ARGS
println[arg]
end
40
|
Các loại phức tạp | for arg in ARGS
println[arg]
end
41 |
Đơn vị tưởng tượng | for arg in ARGS
println[arg]
end
42 |
Độ chính xác của máy | for arg in ARGS
println[arg]
end
43 |
Làm tròn | for arg in ARGS
println[arg]
end
44for arg in ARGS
println[arg]
end
45
for arg in ARGS
println[arg]
end
45
|
Nhập chuyển đổi | for arg in ARGS
println[arg]
end
46for arg in ARGS
println[arg]
end
47
for arg in ARGS
println[arg]
end
47
|
Hằng số toàn cầu | for arg in ARGS
println[arg]
end
48for arg in ARGS
println[arg]
end
49for arg in ARGS
println[arg]
end
50
for arg in ARGS
println[arg]
end
49
for arg in ARGS
println[arg]
end
50
|
Nhiều hằng số hơn | for arg in ARGS
println[arg]
end
51 |
Julia không tự động kiểm tra tràn số. Sử dụng gói an toàn cho INT với kiểm tra tràn.
Số ngẫu nhiên
Nhiều chức năng số ngẫu nhiên yêu cầu
for arg in ARGS
println[arg]
end
52.
Đặt hạt giống | for arg in ARGS
println[arg]
end
53 |
Số ngẫu nhiên | for arg in ARGS
println[arg]
end
54for arg in ARGS
println[arg]
end
55
for arg in ARGS
println[arg]
end
55
|
Ngẫu nhiên từ phân phối khác | for arg in ARGS
println[arg]
end
56for arg in ARGS
println[arg]
end
57for arg in ARGS
println[arg]
end
58
for arg in ARGS
println[arg]
end
57
for arg in ARGS
println[arg]
end
58
|
Các phần tử mẫu ngẫu nhiên từ A có xác suất bao gồm p | for arg in ARGS
println[arg]
end
59 |
Các yếu tố hoán vị ngẫu nhiên của một | for arg in ARGS
println[arg]
end
60 |
Mảng
Tờ khai | for arg in ARGS
println[arg]
end
61 |
Định vị trước | for arg in ARGS
println[arg]
end
62 |
Truy cập và chuyển nhượng | for arg in ARGS
println[arg]
end
63for arg in ARGS
println[arg]
end
64
for arg in ARGS
println[arg]
end
64
|
So sánh | for arg in ARGS
println[arg]
end
65for arg in ARGS
println[arg]
end
66for arg in ARGS
println[arg]
end
67for arg in ARGS
println[arg]
end
68
for arg in ARGS
println[arg]
end
66
for arg in ARGS
println[arg]
end
67
for arg in ARGS
println[arg]
end
68
|
Sao chép các yếu tố [không phải địa chỉ] | for arg in ARGS
println[arg]
end
69for arg in ARGS
println[arg]
end
70
for arg in ARGS
println[arg]
end
70
|
Chọn Subarray từ M đến N | for arg in ARGS
println[arg]
end
71 |
mảng n-sement n với 0,0s | for arg in ARGS
println[arg]
end
72 |
Mảng phần tử n với 1.0s | for arg in ARGS
println[arg]
end
73 |
mảng n-sement với #undefs | for arg in ARGS
println[arg]
end
74 |
n số cách đều nhau từ đầu đến dừng | for arg in ARGS
println[arg]
end
75 |
Mảng với n phần tử int8 ngẫu nhiên | for arg in ARGS
println[arg]
end
76 |
Điền vào mảng với val | for arg in ARGS
println[arg]
end
77 |
Pop yếu tố cuối cùng | for arg in ARGS
println[arg]
end
78 |
Pop yếu tố đầu tiên | for arg in ARGS
println[arg]
end
79 |
Đẩy Val là phần tử cuối cùng | for arg in ARGS
println[arg]
end
80 |
Đẩy Val là phần tử đầu tiên | for arg in ARGS
println[arg]
end
81 |
Xóa phần tử tại IDX IDX | for arg in ARGS
println[arg]
end
82 |
Loại | for arg in ARGS
println[arg]
end
83 |
Nối A với b | for arg in ARGS
println[arg]
end
84 |
Kiểm tra xem Val có phải là phần tử không | for arg in ARGS
println[arg]
end
85 |
Sản phẩm vô hướng | for arg in ARGS
println[arg]
end
86 |
Thay đổi kích thước [nếu có thể] | for arg in ARGS
println[arg]
end
87 |
Để chuỗi [với DelItiter Del giữa các phần tử] | for arg in ARGS
println[arg]
end
88 |
Đại số tuyến tính
Đối với hầu hết các công cụ đại số tuyến tính, hãy sử dụng
for arg in ARGS
println[arg]
end
89.
Ma trận đơn vị | for arg in ARGS
println[arg]
end
90 |
Xác định ma trận | for arg in ARGS
println[arg]
end
91 |
Kích thước ma trận | for arg in ARGS
println[arg]
end
92 |
Chọn hàng for arg in ARGS
println[arg]
end
93 | for arg in ARGS
println[arg]
end
94 |
Chọn cột for arg in ARGS
println[arg]
end
93 | for arg in ARGS
println[arg]
end
96 |
Concatenate theo chiều ngang | for arg in ARGS
println[arg]
end
97 hoặc for arg in ARGS
println[arg]
end
98 |
Concatenate theo chiều dọc | for arg in ARGS
println[arg]
end
99 hoặc function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
00 |
Chuyển đổi ma trận | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
01 |
Chuyển đổi ma trận liên hợp | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
02 hoặc function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
03 |
Ma trận theo dõi | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
04 |
Quyết định ma trận | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
05 |
Xếp hạng ma trận | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
06 |
Eigenvalues ma trận | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
07 |
Ma trận eigenvector | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
08 |
Ma trận nghịch đảo | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
09 |
Giải function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
10 | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
11 tốt hơn về số lượng ổn định hơn và thường nhanh hơn. hơn function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
12 Numerically more stable and typically also faster. than function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
12
|
Moore-Penrose Pseudo Converse | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
13 |
Julia đã hỗ trợ tích hợp cho các phân tách ma trận.
Julia cố gắng suy luận liệu ma trận có thuộc loại đặc biệt [đối xứng, Hermiti, v.v.], nhưng đôi khi thất bại. Để hỗ trợ Julia trong việc gửi các thuật toán tối ưu, các ma trận đặc biệt có thể được tuyên bố là có cấu trúc với các chức năng như
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
14, function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
15, function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
16, function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
17, function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
18, v.v.Kiểm soát luồng và vòng lặp
Có điều kiện | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
19 |
Vòng lặp function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
20 đơn giản | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
21function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
2222
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
22
for arg in ARGS
println[arg]
end
7
|
Không được kiểm chứng cho vòng lặp | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
24function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
25for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
25
for arg in ARGS
println[arg]
end
7
|
Liệt kê | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
27function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
28for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
28
for arg in ARGS
println[arg]
end
7
|
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
30 Vòng lặp | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
31function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
32for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
32
for arg in ARGS
println[arg]
end
7
|
Thoát vòng | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
34 |
Thoát đi lặp lại | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
35 |
Chức năng
Tất cả các đối số cho các chức năng được truyền qua tham chiếu.
Các chức năng với
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
36 được thay đổi ít nhất một đối số, thường là lần đầu tiên: for arg in ARGS
println[arg]
end
83.Các đối số bắt buộc được phân tách bằng dấu phẩy và sử dụng ký hiệu vị trí.
Các đối số tùy chọn cần một giá trị mặc định trong chữ ký, được xác định với
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
38.Các đối số từ khóa Sử dụng ký hiệu được đặt tên và được liệt kê trong chữ ký của chức năng sau dấu chấm phẩy:
function func[req1, req2; key1=dflt1, key2=dflt2]
# do stuff
end
Bán kết không bắt buộc trong cuộc gọi đến một hàm chấp nhận các đối số từ khóa.
Tuyên bố
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
39 là tùy chọn nhưng rất được khuyến khích.Nhiều cấu trúc dữ liệu có thể được trả về dưới dạng Tuple trong một câu lệnh
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
39.Đối số dòng lệnh
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
41 có thể được xử lý từ hằng số toàn cầu function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
42:for arg in ARGS
println[arg]
end
Các hàm ẩn danh có thể được sử dụng tốt nhất trong các chức năng thu thập hoặc danh sách hiểu biết:
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
43.Các chức năng có thể chấp nhận một số lượng thay đổi các đối số:
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
Chức năng có thể được lồng:
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
Các chức năng có thể có các loại trả về rõ ràng
# take any Number subtype and return it as a String
function stringifynumber[num::T]::String where T using Statistics
julia> A = rand[3, 4];
julia> B = A .- mean[A, dims=1]
3×4 Array{Float64,2}:
0.0387438 0.112224 -0.0541478 0.455245
0.000773337 0.250006 0.0140011 -0.289532
-0.0395171 -0.36223 0.0401467 -0.165713
julia> mean[B, dims=1]
1×4 Array{Float64,2}:
-7.40149e-17 7.40149e-17 1.85037e-17 3.70074e-17
Julia tạo ra các phiên bản chuyên dụng Nhiều công bố một loại đa hình xác định động phiên bản nào của một hàm để gọi. Trong bối cảnh này, động có nghĩa là nó được giải quyết tại thời gian chạy, trong khi quá tải phương pháp được giải quyết tại thời điểm biên dịch. Julia quản lý nhiều công văn hoàn toàn trong nền. Tất nhiên, bạn có thể cung cấp quá tải chức năng tùy chỉnh với các chú thích loại. của các chức năng dựa trên các loại dữ liệu. Khi một hàm được gọi với cùng loại đối số, Julia có thể tra cứu mã máy gốc và bỏ qua quy trình biên dịch. Multiple dispatch a type of polymorphism that dynamically determines which version of a function to call. In this context, dynamic means that it is resolved at run-time, whereas method overloading is resolved at compile time. Julia manages multiple dispatch completely in the background. Of course, you can
provide custom function overloadings with type annotations. of functions based on data types. When a function is called with the same argument types again, Julia can look up the native machine code and skip the compilation process.
Vì Julia 0,5, sự tồn tại của sự mơ hồ tiềm năng vẫn được chấp nhận, nhưng thực sự gọi một phương pháp mơ hồ là một lỗi ngay lập tức.Julia 0.5 the existence of potential ambiguities is still acceptable, but actually calling an ambiguous method is an immediate error.
Stack Overflow là có thể khi các chức năng đệ quy làm tổ sâu nhiều cấp độ. Trampolining có thể được sử dụng để tối ưu hóa cuộc gọi đuôi, vì Julia chưa tự động làm điều đó. Ngoài ra, bạn có thể viết lại đệ quy đuôi như một lần lặp.
Từ điển
Từ điển | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
44function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
45
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
45
|
Tất cả các phím [Iterator] | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
46 |
Tất cả các giá trị [Iterator] | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
47 |
Vòng lặp qua các cặp giá trị khóa | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
48function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
49for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
49
for arg in ARGS
println[arg]
end
7
|
Kiểm tra khóa function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
51 | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
52 |
Sao chép các phím [hoặc giá trị] vào mảng | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
53function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
54
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
54
|
Từ điển có thể thay đổi; Khi các biểu tượng được sử dụng làm khóa, các phím là bất biến.
Bộ
Tờ khai | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
55 |
Liên minh function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
56 | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
57 |
Giao lộ function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
58 | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
59 |
Sự khác biệt function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
60 | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
61 |
Sự khác biệt function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
62 | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
63 |
Tập hợp con function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
64 | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
65 |
Kiểm tra xem một phần tử được chứa trong một tập hợp được thực hiện trong O [1].
Chức năng thu thập
Áp dụng f cho tất cả các yếu tố của coll thu thập | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
66 hoặc ____267function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
68function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
69for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
67
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
68
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
69
for arg in ARGS
println[arg]
end
7
|
Lọc coll cho các giá trị thực của f | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
71 |
Danh sách hiểu | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
72 |
Loại
Julia không có lớp và do đó không có phương pháp dành riêng cho lớp.
Các loại giống như các lớp không có phương pháp.
Các loại trừu tượng có thể được phân nhóm nhưng không được khởi tạo.
Các loại bê tông không thể được phân nhóm.
Theo mặc định,
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
73 s là bất biến.Các loại bất biến tăng cường hiệu suất và là chủ đề an toàn, vì chúng có thể được chia sẻ giữa các luồng mà không cần đồng bộ hóa.
Các đối tượng có thể là một trong một tập hợp các loại được gọi là các loại
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
74.
Loại chú thích | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
75 |
Loại khai báo | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
76function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
777____278function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
79for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
77
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
78
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
79
for arg in ARGS
println[arg]
end
7
|
Tuyên bố loại đột biến | Thay thế function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
73 bằng function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
82 |
Loại bí danh | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
83 |
Loại xây dựng | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
84 |
Loại khởi tạo | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
85function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
86
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
86
|
Tuyên bố phân nhóm | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
87function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
88function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
89for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
88
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
89
for arg in ARGS
println[arg]
end
7
|
Loại tham số | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
91function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
92function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
93for arg in ARGS
println[arg]
end
7
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
92
function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
93
for arg in ARGS
println[arg]
end
7function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
95
|
Các loại công đoàn | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
96 |
Phân cấp loại Traverse | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
97 và function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
98 |
SuperType mặc định | function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
99 |
Tất cả các lĩnh vực | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
00 |
Tất cả các loại trường | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
01 |
Khi một loại được xác định với hàm tạo bên trong, các hàm tạo bên ngoài mặc định không khả dụng và phải được xác định bằng tay nếu cần. Một hàm tạo bên trong được sử dụng tốt nhất để kiểm tra xem các tham số có phù hợp với các điều kiện [bất biến] nhất định hay không. Rõ ràng, những bất biến này có thể bị vi phạm bằng cách truy cập và sửa đổi trực tiếp các trường, trừ khi loại được xác định là bất biến. Từ khóa
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
02 có thể được sử dụng để tạo một đối tượng cùng loại.Các tham số loại là bất biến, có nghĩa là
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
03 là sai, mặc dù function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
04. Mặt khác, các loại Tuple là hiệp phương sai: function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
05.Có thể tìm thấy dạng hình thức nội bộ của Julia, có thể được tìm thấy với
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
06. Điều này rất hữu ích để xác định nơi function func[a...]
println[a]
end
func[1, 2, [3:5]] # tuple: [1, 2, UnitRange{Int64}[3:5]]
99 thay vì mã gốc cụ thể được tạo ra.Thiếu và không có gì
Lập trình viên NULL | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
08 |
Dữ liệu bị mất | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
09 |
Không phải là một số trong phao | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
10 |
Lọc nhớ | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
11 |
Thay thế các tên lửa | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
12 |
Kiểm tra nếu thiếu | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
13 không function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
14not function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
14
|
Ngoại lệ
Ném một số người | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
15 |
Rethrow ngoại lệ hiện tại | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
16 |
Xác định Newexcep | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
17function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
18for arg in ARGS
println[arg]
end
7
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
18
for arg in ARGS
println[arg]
end
7function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
20function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
21
|
Lỗi ném với văn bản MSG | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
22 |
Người xử lý | Các
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
24
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
25
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
26
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
27
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
28
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
29
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
30
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
31
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
32
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
33
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
34
for arg in ARGS
println[arg]
end
7
|
Mô -đun
Các mô -đun là các không gian làm việc biến đổi toàn cầu riêng biệt nhóm các chức năng tương tự.
Sự định nghĩa | function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
36function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
37function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
38for arg in ARGS
println[arg]
end
7
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
37
function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
38
for arg in ARGS
println[arg]
end
7
|
Bao gồm function outerfunction[]
# do some outer stuff
function innerfunction[]
# do inner stuff
# can access prior outer definitions
end
# do more outer stuff
end
40 | # take any Number subtype and return it as a String
function stringifynumber[num::T]::String where T
|