작업
모두가 자동 코드 생성을 좋아하고 작업하는 동안 시간을 절약한다고 생각합니다. 낮에는 많은 클래스와 멤버를 만들어야하며 모든 클래스와 멤버를 getters
수동으로 만들고 싶지는 않습니다 .
작업은 getters
모든 클래스 멤버를 위해 자동으로 생성되는 프로그램 또는 함수를 작성하는 것입니다.
입력
우리의 언어에서 객체는 매우 간단합니다. 클래스와 멤버의 이름은 [a-zA-Z]
문자로 시작해야 하며 문자 만 포함 할 수 있습니다 [a-zA-Z0-9]
. 예를 들면 다음과 같습니다.
class Stack {
public overflow;
protected trace;
private errorReport;
}
출력
주어진 예제를 기반으로 한 유효한 출력입니다.
class Stack {
public overflow;
protected trace;
private errorReport;
public function getOverflow() {
return this->overflow;
}
public function getTrace() {
return this->trace;
}
public function getErrorReport() {
return this->errorReport;
}
}
게터
getter
방법에 대한 요구 사항 은 다음과 같습니다.
- 함수 이름은
get
대문자로 시작 하는 멤버 이름으로 시작해야합니다 . - 이 기능에는 매개 변수가 없습니다.
- 변수를 반환하려면을 사용하십시오
return this->memberName;
. getters
및setters
( 참조 보너스를 그룹화해야 함) 모든 변수 선언 후 와야합니다.
예:
private value1;
private value2;
public function getValue1() { return this->value; }
public function setValue1(value) { this->value = value; }
public function getValue2() { return this->value; }
public function setValue2(value) { this->value = value; }
요구 사항
- 프로그램이나 함수를 작성하십시오.
- 입력은 STDIN, 명령 행 인수, 함수 인수, 파일 등에서 올 수 있습니다.
- 모든 출력 형식은 단순한
return
값에서 파일로 또는 STDOUT에 쓰는 것에서 허용됩니다 . - 입력 및 출력은 공백, 줄 바꿈, 탭 등으로 형식을 지정할 필요가 없습니다
class A{protected a;}
. 유효한 입력 입니다.. - 입력이 유효하고 프로그램이 예상치 못한 입력도 처리 할 수 있다고 가정 할 수 있습니다.
보너스
각 기능에 대해 30 %를 철회하여 원래 바이트 수의 10 %까지 줄일 수 있습니다.
A : 프로그램은 새로 추가 된 변수를 처리 할 수 있으며 누락 된 항목 getters
만 추가 합니다 ( public function getB() { return this->b; }
이 경우).
class A {
public a;
public b;
public function getA() { return this->a; }
}
B : 당신의 프로그램은 또한 다음을 생성합니다 setters
:
class A {
public a;
public getA() { return this->a; }
public setA(a) { this->a = a; }
}
C : 프로그램은 정적 멤버를 처리 할 수 있습니다.
class A {
public static c;
public static function getC() { return this->c; }
}
이것은 코드 골프입니다 – 바이트 단위의 최단 답변이 이깁니다. 표준 허점은 허용되지 않습니다.
3
이것은 내 첫 번째 질문입니다. 너무 어렵지 않은 질문입니다. 너가 좋아하길 바래. 샌드 박스 에 유용한 팁을 준 Martin Büttner 에게 감사합니다 .
—
insertusername 여기
입력 당 하나의 클래스 만 있습니까?
—
코너 O'Brien
보너스 모두 지원할 때
—
FryAmTheEggman
A
와 B
게터 있어야 항목 있지만 세터는 세터 출력이?
@FryAmTheEggman 아주 좋은 질문입니다. 보너스 B의 경우 입력이 완료되었다고 가정 할 수 있으므로 게터가 있으면 세터도 있습니다.
—
insertusername 여기
어떤 언어에서는 참조 할 수 있습니다
—
Neil
this
A의 static
접근?