2009-07-07 3 views
3

부에서, 내가 string[] urls 걸리는 매개 변수를 사용하는 메서드를 재정의한다고 가정 해 봅시다. 타입 추론은 어떤 이유로 든 기본 클래스와 일치하지 않으므로 매개 변수의 유형을 명시 적으로 지정해야합니다.Boo에서는 배열 매개 변수를 어떻게 지정합니까?

이것은 Boo 구문이 올바르지 않습니다. 배열 매개 변수를 사용하는 메서드를 재정의한다고 지정하는 올바른 방법은 무엇입니까?

보통 IEnumerable을 선호하지만 Rhino.DSL의 일부인 다른 사람의 기본 클래스를 재정의합니다.

편집 추가 : 내 문제는 배열 선언 구문에만 접하게 관련된 것입니다. 내 실제 문제는 프로젝트에서 참조되는 두 가지 버전의 Boo 어셈블리였습니다. 유형 주위

답변

3

괄호는 해당 유형의 배열을 나타냅니다

class MyClass : MyBase 
    override def method(urls as (string)): 
    dostuff() 
+0

덕분에, 나는 마지막으로 문서에 내가 게시 단 몇 초 후에 것을 발견했다. 위의 간단한 경우에는 명확하게 작동합니다. 그러나, 기이하게도, 내가 좋아하지 않는 것으로 나타났습니다. 대부분의 임의 유형이 잘 작동했지만 def 메소드 (bar는 Boo.Lang.Compiler.CompilerPipeline, urls는 url)를 무시합니다 ... 기회 특정 유형의 객체에 대해 잘 알려진 문제가 있거나 더 많은 사냥을해야합니까? – JasonTrue

+0

'Virtuoso.QA.VatDsl.Features.MyClass1.DoStuff (Boo.Lang.Compiler.CompilerPipeline, (string))': 재정의 할 적합한 메소드가 없습니다. 호환되지 않는 서명이있는 동일한 이름의 메소드가 발견되었습니다. (BCE0060) - C : \ virtuoso \ sl \ QAMain \ Virtuoso \ Virtuoso.QA.Vat \ Virtuoso.QA.VatDslSupport \ TestDSLEngine.boo : 9,18 – JasonTrue

+0

@JasonTrue : 내가 아는 사람은 아닙니다. 즉, 나는 부 전문가는 아니지만 그것은 프로그래밍 언어에 이상한 것이므로 매개 변수 정의를 살펴 보는 대신 다른 곳에서 문제를 연구 할 것입니다. 오버라이드 할 매개 변수가있는 메소드가 있습니까? –

관련 문제