Welcome to english++ offical documentation!

It will help you to run the modern programming language, english++!

동작

또는 함수

구구단의 n단을 출력하는 동작을 만들어 보자

먼저 구구단을 말할 person 클래스를 만들어 봅시다

Class object type Person
public

이번엔 딱히 생성자가 필요 없을 것 같네요. 그러면 Person 클래스에 구구단 n단을 말하는 동작을 추가해 봅시다.

When it say_gugu i4 num
For a of [1..9]
it println about num, "곱하기 ", a, "는 ", num*a

그러면 도입부를 정의합시다.

When it starts
Let Person james
james say_gugu for (input: "구구단 몇단? ") been stoi

여기서 (input: "구구단 몇단? ") been stoi 란 "구구단 몇단?"이란 질문을 한 뒤, 사용자로부터 화면에 입력을 받고, 그 값을 숫자로 바꾼 값입니다. English++은 저수준 언어인 C++을 기반으로 하기 때문에 "10"이란 문자열과 숫자 10은 다릅니다.

입력값을 그대로 받고 싶으면 수동태 been stoi를 빼면 됩니다.

원하는 결과가 나오는군요.

When 이란?

When은 동작을 정의합니다. 시작할때 부터 써왔던 When it starts, 생성자의 When classname created 등 특수한 동작부터, 위 구구단 예제의 직접 해야 하는 동작들이 있죠. 동작은 값을 받을 수도 있습니다. 목적어가 될 수도 있고, 형용사 부사가 될 수도 있죠. 난 영어를 못해서 이게 뭔소린지 모르겠지만, 아무튼 읽기만 자연스러우면 그건 맞는 문법이겠죠? 1학기 영어 기말에서도 읽기의 직관보다 암기와 논리에 맡겨서 문제 풀었더니 하나 틀렸어요. 나는 암기를 잘 못하거든. 약간 이게 헷갈렸단 말이야. 분명히 직관으로 풀면 존나 쉬운 문제였는데.

저...그... 헛소리는 하면 안되고! 그 값을 받으려면

When 클래스이름 동작이름 값의타입 값의이름

이렇게 하면 됩니다. 이쯤에서 타입에 대해 짚고 넘어가야겠군요.

i4는 4바이트 정수입니다. integer 4bytes의 약자이죠. 그럼 i8은 8바이트 정수입니다. 1, 2, 4, 8바이트를 지원합니다. 이 정수들은 한번 Let한뒤 값을 바꿀 수 있습니다. Set a as 20 처럼 값을 변경할 수 있습니다.

값을 불변하게 하려면 c를 붙이면 됩니다. Have 선언도 있긴 한데 나중에 알려줌. ci4는 불변 4바이트 정수값입니다. 또한 i대신 u로 양수만 허용하는 값도 만들 수 있습니다.

실수는 f입니다. 실수형은 양수만 허용할 수 없습니다. f4는 4바이트 실수이죠. 실수는 4, 8바이트를 지원합니다.

즉 예제에서는 4바이트 정수값인 num을 받고, 그 num의 구구단을 출력합니다. 값 여러개를 받고 싶다면,

When 클래스이름 동작이름 값의타입 값의이름, 값의타입 값의이름

처럼 쉼표로 이어나가면 됩니다.