用户:ZH-Y-Q查看:95 回复:3 评论:14 创建时间:2020-02-19T11:07:11
序言
本文章主要是用以补充文言文浅谈的内容。
注:阅读前请先了解文言文浅谈的内容。
以最新版为准,不保证洛谷IDE支持全部内容。
Part 1 输入输出进阶输出和输入是一切语言的基本操作。文言的输出简洁,输入则稍微繁琐。
输出输出语句的标志:書之。
吾有一數。...書之。:输出数字,阿拉伯形式。
数字的范围是 [-2^{256},2^{256})[−2256,2256) 。
其中...中,表示常量使用中文表示,也可使用变量形式。
如:吾有一數。曰三十七。書之。输出 3737 。
吾有一言。...書之。:输出字符串。
字符串表示为「「...」」形式。(注意有二层括号)
如:吾有一言。曰「「字符串」」。書之。输出字符串。
以上每次“书之”语句的输出各占一行。为了在一行内输出多个数字,可以使用以下语句:
吾有三數。曰三千二百四十一。曰五百五十。曰一千零五。書之。
输出3241 550 1005。
输入由于还未设专门函数,使用Javascript函数完成。
先看一下A+B Problem给的输入:
施「require('fs').readFileSync」於「「/dev/stdin」」。名之曰「數據」。
施「(buf => buf.toString().trim())」於「數據」。昔之「數據」者。今其是矣。
施「(s => s.split(' '))」於「數據」。昔之「數據」者。今其是矣。
注曰。「「文言尚菜,無對象之操作,故需 JavaScript 之语法」」。
夫「數據」之一。取一以施「parseInt」。名之曰「甲」。
夫「數據」之二。取一以施「parseInt」。名之曰「乙」。
其中注曰之前的函数不用管(split除外)。
讲解:「(s => s.split(' '))」将数据拆分,以某个符号为界限(注意这个符号不在函数结果之内)。
「parseInt」将字符串转换为数字。
一些语喵在后提到。
先给一个得到一行数字的函数。
吾有一術。名之曰「输入」。是術曰。
施「require('fs').readFileSync」於「「/dev/stdin」」。名之曰「入」。
施「(buf => buf.toString().trim())」於「入」。昔之「入」者。今其是矣。
施「(s => s.split('\n'))」於「入」。昔之「入」者。今其是矣。
乃得「入」也。
是謂「输入」之術也。
吾有一數。曰零。名之曰「其行」。
施「输入」。名之曰「初始输入」。
吾有一術。名之曰「得数」。是術曰。
吾有一列。名之曰「其数」。
加「其行」以一。昔之「其行」者。今其是矣。
夫「初始输入」之「其行」。名之曰「此行」。
施「(s => s.split(' '))」於「此行」。昔之「此行」者。今其是矣。
夫「此行」之長。名之曰「长」。
吾有一數。曰零。名之曰「下标」。
為是「长」遍。
加「下标」以一。昔之「下标」者。今其是矣。
夫「此行」之「下标」。名之曰「此数」。
施「parseInt」於「此数」。昔之「此数」者。今其是矣。
銜「其数」以「此数」。昔之「其数」者。今其是矣。
云云。
乃得「其数」也。
是謂「得数」之術也。
如果看过浅谈,应该不难理解:将初始输入用换行符拆分为各行;使用一个变量表示目前所在的行;每行要用时用空格拆分成各个小字符串;将小字符串转为数字后装入列表返回。
【原文链接:https://www.luogu.com.cn/blog/2017gdgzoi999/wenyan-lang】
cool-creeper这个文言文编程是怎么做出来的???
还是本来就有的一个软件???
点赞1
评论
听说Java有一个文言文编程
http://wenyan-lang.lingdong.works/ide.html
html改成h丅ml 你懂的
cool-creeper@ZH-Y-Q
点赞0
评论
网址是假的!
.html是.h™l。系统把™屏蔽掉成tm了
.h喵l是.html。系统把tm屏蔽掉成喵了
不是,网址打不开
那个网址?
嗯,是的
写错了:哪个网址
http://wenyan-lang.lingdong.works/ide.html
注:喵改为t m
可以进去的啊
不行就这个: https://ide.wy-lang.org/