Что означает эта строка кода в языке программирования Julia - PullRequest
2 голосов
/ 06 января 2020
function commence(args::Vector{String})

Что я хотел бы знать, что означает эта строка? В частности, что означает аргумент начала, "(args::Vector{String})"?

1 Ответ

4 голосов
/ 06 января 2020

Строка указывает определение функции с именем commence, которая принимает один аргумент args. Бит ::Vector{String} указывает, что функция будет принимать только векторы строк, то есть объекты типа Vector{String}. Смотрите следующую демонстрацию:

julia> function commence(args::Vector{String})
           @show args
           nothing
       end
commence (generic function with 1 method)

julia> commence([1,2,3])
ERROR: MethodError: no method matching commence(::Array{Int64,1})
Closest candidates are:
  commence(::Array{String,1}) at REPL[1]:2
Stacktrace:
 [1] top-level scope at REPL[2]:1

julia> commence("asd","test")
ERROR: MethodError: no method matching commence(::String, ::String)
Stacktrace:
 [1] top-level scope at REPL[3]:1

julia> commence(["asd","test"]) # works, since typeof(args) == Vector{String}
args = ["asd", "test"]

Я рекомендую вам прочитать руководство, в частности эту часть , чтобы узнать больше о функциях в Julia.

...