국물 바라― 바라로 국물 시어머니를 설치해 봐--
코드
yubaba.valapublic class Yubaba {
public static int main (string[] args) {
stdout.printf ("契約書だよ。そこに名前を書きな。\n");
string name = stdin.read_line ();
stdout.printf ("フン。%sというのかい。贅沢な名だねぇ。\n", name);
int new_name_index = GLib.Random.int_range (0, name.char_count ());
string new_name = name.get_char (name.index_of_nth_char (new_name_index)).to_string ();
stdout.printf ("今からお前の名前は%sだ。いいかい、%sだよ。分かったら返事をするんだ、%s!!\n", new_name, new_name, new_name);
return 0;
}
}
우분투 계열이면...$ sudo apt install -y valac libglib2.0-dev
에 컴파일러 및 라이브러리 설치$ valac ./yubaba.vala
$ ./yubaba
이동합니다.
해설
표준 입력 계약
stdout.printf ("契約書だよ。そこに名前を書きな。\n");
string name = stdin.read_line ();
stdout.printf ("フン。%sというのかい。贅沢な名だねぇ。\n", name);
stdin.read_line ()
로 이름을 얻고 변수를 대입name
.
이름을 빼앗다
int new_name_index = GLib.Random.int_range (0, name.char_count ());
string new_name = name.get_char (name.index_of_nth_char (new_name_index)).to_string ();
밸라의 표준 라이브러리인 GLib에는 Random
라는 이름 공간이 있는데, int_range
라는 방법이 준비돼 있어서 그걸 사용했다.
시작점(첫 번째 문자)과 끝점name
의 문자 수를 매개변수에 전달합니다.주의해야 할 것은 name.length
라면 name
의 바이트 수를 얻는다는 점name
이 전각문자인 상황에서 문자를 정확하게 추출할 수 없기 때문에char_count
방법을 사용한다는 점1이다.new_name_index
를 사용하여 꺼낸 1개의 문자는 unichar형(32비트의 Unicde 문자형)이기 때문에string형으로 변환됩니다.
이름 부여
stdout.printf ("今からお前の名前は%sだ。いいかい、%sだよ。分かったら返事をするんだ、%s!!\n", new_name, new_name, new_name);
표준 출력에 새 이름을 표시합니다.new_name, new_name, new_name
너무 지루해서 어쩌지...
실행 결과
덤
아무것도 입력하지 않으면 int_range
방법의 매개 변수가 쌍방이 0이 되어 기점<끝점의 결단이 실패하는 오류를 표시합니다.하지만 앞으로의 처리는 틀리지 않을 거예요. 탕시어머니가 발음할 줄 모르는 이름을 줄 거예요.
동작의 차이 참조여기 전선.. ↩
Reference
이 문제에 관하여(국물 바라― 바라로 국물 시어머니를 설치해 봐--), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryonakano/items/7ba9617911d6f573da31
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public class Yubaba {
public static int main (string[] args) {
stdout.printf ("契約書だよ。そこに名前を書きな。\n");
string name = stdin.read_line ();
stdout.printf ("フン。%sというのかい。贅沢な名だねぇ。\n", name);
int new_name_index = GLib.Random.int_range (0, name.char_count ());
string new_name = name.get_char (name.index_of_nth_char (new_name_index)).to_string ();
stdout.printf ("今からお前の名前は%sだ。いいかい、%sだよ。分かったら返事をするんだ、%s!!\n", new_name, new_name, new_name);
return 0;
}
}
$ sudo apt install -y valac libglib2.0-dev
$ valac ./yubaba.vala
$ ./yubaba
표준 입력 계약
stdout.printf ("契約書だよ。そこに名前を書きな。\n");
string name = stdin.read_line ();
stdout.printf ("フン。%sというのかい。贅沢な名だねぇ。\n", name);
stdin.read_line ()
로 이름을 얻고 변수를 대입name
.이름을 빼앗다
int new_name_index = GLib.Random.int_range (0, name.char_count ());
string new_name = name.get_char (name.index_of_nth_char (new_name_index)).to_string ();
밸라의 표준 라이브러리인 GLib에는 Random
라는 이름 공간이 있는데, int_range
라는 방법이 준비돼 있어서 그걸 사용했다.시작점(첫 번째 문자)과 끝점
name
의 문자 수를 매개변수에 전달합니다.주의해야 할 것은 name.length
라면 name
의 바이트 수를 얻는다는 점name
이 전각문자인 상황에서 문자를 정확하게 추출할 수 없기 때문에char_count
방법을 사용한다는 점1이다.new_name_index
를 사용하여 꺼낸 1개의 문자는 unichar형(32비트의 Unicde 문자형)이기 때문에string형으로 변환됩니다.이름 부여
stdout.printf ("今からお前の名前は%sだ。いいかい、%sだよ。分かったら返事をするんだ、%s!!\n", new_name, new_name, new_name);
표준 출력에 새 이름을 표시합니다.new_name, new_name, new_name
너무 지루해서 어쩌지...실행 결과
덤
아무것도 입력하지 않으면 int_range
방법의 매개 변수가 쌍방이 0이 되어 기점<끝점의 결단이 실패하는 오류를 표시합니다.하지만 앞으로의 처리는 틀리지 않을 거예요. 탕시어머니가 발음할 줄 모르는 이름을 줄 거예요.
동작의 차이 참조여기 전선.. ↩
Reference
이 문제에 관하여(국물 바라― 바라로 국물 시어머니를 설치해 봐--), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryonakano/items/7ba9617911d6f573da31
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
아무것도 입력하지 않으면
int_range
방법의 매개 변수가 쌍방이 0이 되어 기점<끝점의 결단이 실패하는 오류를 표시합니다.하지만 앞으로의 처리는 틀리지 않을 거예요. 탕시어머니가 발음할 줄 모르는 이름을 줄 거예요.동작의 차이 참조여기 전선.. ↩
Reference
이 문제에 관하여(국물 바라― 바라로 국물 시어머니를 설치해 봐--), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryonakano/items/7ba9617911d6f573da31텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)