LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

「文言/wenyan‑lang」入門 令和のHello World!!

はじめに

「文言/wenyan‑lang」とは漢文風な記述でプログラミング出来る言語です。
胸熱ポイントはその美しさであり世界観です。

この記事では
文言 / wenyan‑langで湯婆婆を実装してみる
を題材に解説を目指しています。中国語はわからないので解釈が合わない部分がありましたらご指摘ください。読みながら実際にオンラインエディタで実行していただきその不思議な世界に足を踏み入れて見ましょう。では、漢文風言語の世界お楽しみください!

契約書で受け取った名前からランダムに一文字を選ぶ部分、名前を受け取れなかった場合の処理が実力不足でまだ出来てません。

※12月1日現在未だ術(関数)で指定した範囲内の乱数を作り出せていません。解決し次第追記させていただきます。

コード

こちらをクリックし、エディタを開いて下さい。※いきなり実行し名前入力を促されます

吾嘗觀「「質問」」之書。方悟「質問」之義。
夫「「契約書だよ。そこに名前を書きな。」」。
名之曰「湯婆婆」。夫「湯婆婆」書之。
施「質問」於「湯婆婆」於「「荻野千尋」」。名之曰「回答」。
夫「回答」之三。
名之曰「名」。
吾有一言。曰「「フン。」」夫「回答」夫「「というのかい。贅沢な名だねぇ。」」。
夫「「今からお前の名前は」」夫「名」夫「「だ。いいかい、」」夫「名」夫「「だよ。分かったら返事をするんだ、」」夫「名」夫「「!!」」。
名之曰「湯婆婆」。夫「湯婆婆」書之。

実行結果

Screen Shot 2020-11-07 at 18.39.53.png

Screen Shot 2020-11-07 at 18.41.08.png

解説

吾嘗觀「「質問」」之書。方悟「質問」之義。

名前を受け取るための書の指定と使用するものを宣言。

夫「「契約書だよ。そこに名前を書きな。」」。
名之曰「湯婆婆」。夫「湯婆婆」書之。

「之書」は「の書物」って感じですが、「書之」は「これを書く」という指定です。
文字など値を出力する場合は、「夫」で列挙し、まとめて書き出します。
「加」などで、文字列を結合する事も出来ますが、日本語の流れの順に列挙したかったので、
「夫」を使っています。列挙し場に置いたものに「湯婆婆」と名付け、出力しています。

施「質問」於「湯婆婆」於「「荻野千尋」」。名之曰「回答」。

初期値「荻野千尋」で質問をし、結果を「回答」に入れます。

夫「回答」之三。
名之曰「名」。

「回答」の3文字目を場に置き、「名」と名付けます。

吾有一言。曰「「フン。」」夫「回答」夫「「というのかい。贅沢な名だねぇ。」」。
夫「「今からお前の名前は」」夫「名」夫「「だ。いいかい、」」夫「名」夫「「だよ。分かったら返事をするんだ、」」夫「名」夫「「!!」」。
名之曰「湯婆婆」。夫「湯婆婆」書之。

「吾有一言」は文字列であることを示しています。二重カッコ(「「」」)が文字リテラルになります。以降、湯婆婆のセリフを列挙し、出力しています。二重カッコの中は変えたものがそのまま出力されますので、湯婆婆のセリフを変えてみたりして、雰囲気を楽しんでみてはいかがでしょうか。

おわりに

解説がプログラムの用語で説明するのか、wenyanの用語で説明するのか迷いながらとなりました。

次回からは、チートシートやexampleの解説もして行けたらと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0