는 I은 모두 (1) 표시 인자를 필요로하며, (2) 파라미터 이름 가질 수줄리아라는 명명 된 매개 변수가 있어야합니까? 루비
이다>> def f(x:)
>> x + 1
>> end
>> f()
ArgumentError: missing keyword: x
>> f(2)
ArgumentError: wrong number of arguments (given 1, expected 0)
>> f(x:7)
=> 8
, I는, 를 인수를 전달이 및 I 가지고 을을 사용하여 연관된 매개 변수 이름을 제공하십시오.
내가 파이썬에서 같은 작업을 수행 할 수 있습니다
1> func f(x: Int) -> Int {return x + 1}
2> f()
error: missing argument for parameter 'x' in call
2> f(3)
error: missing argument label 'x:' in call
2> f(x:7)
$R0: Int = 8
하지만 줄리아에서이 작업을 수행하는 방법을 알아낼 수 없습니다 :
>>> def f(*, x):
... return x + 1
...
>>> f()
TypeError: f() missing 1 required keyword-only argument: 'x'
>>> f(3)
TypeError: f() takes 0 positional arguments but 1 was given
>>> f(x=7)
8
을 그리고, 좋은 측정을 위해, 심지어 스위프트는이 작업을 수행 할 수 있습니다. 키워드 인수는 호출 될 때 기본 매개 변수를 사용해야하는 것 같습니다. 이것이 맞습니까? 아니면 위의 Ruby와 Python 예제를 시뮬레이션 할 수있는 방법이 있습니까?
당신은'아무것도 안된다. – amrods
@ amrods thanks, fixed. –
물론 파이썬과 루비는 동적 언어처럼 런타임시 정확성을 보장합니다. –