给定Pig, SickPig, DeadPig, QuinePig或 DeafPig程序的输入,请随机选择这些“语言”之一,并将输入解释为该“语言”。
首先,在“猪系列”的五个成员之一中随机选择:
猪
如果选择是Pig,请执行以下操作来模仿参考口译员:
查找
PIG
输入中单词的第一个匹配项(区分大小写)。如果
PIG
输入中未出现该单词,则输出消息File must contain the string 'PIG'.
并退出。否则,在第一次出现时拆分输入字符串
PIG
。将第一次出现后的文本输出PIG
到文件名为之前的文件PIG
。PIG
可能包含在要输出的文本中(因此,的输入fooPIGbarPIGbaz
应输出barPIGbaz
到名为的文件中foo
)。
请注意,参考解释器通过命令行参数获取输入,该命令行参数指定要读取的文件名。但是,您的提交可以采用PPCG接受的任何标准方法进行输入。
病猪
如果选择的是SickPig,请遵循与Pig相同的说明。但是,与其将文本写到
PIG
文件中,不如从下面的列表中随机选择GRUNT MOAN OINK BURP GROAN WHINE
并将其输出到文件中。此随机选择必须独立于先前的选择(因此,的输出
GRUNT
总体应具有1/5 * 1/6 = 1/30的机会)。死猪
DeadPig类似于SickPig,但它始终输出以下字符串,而不是随机选择一个字符串:
Your pig has unfortunately died. Please try again.
QuinePig
QuinePig就像Pig一样,但是
PIG
它没有将文本写到文件中,而是将整个输入写到文件中(因此,的输入fooPIGbarPIGbaz
应输出fooPIGbarPIGbaz
到名为的文件中foo
)。聋猪
如果选择的是DeafPig,则什么也不做。(这只猪是聋的……你期望什么?)
杂项规则:
“随机”表示每个选择的可能性大致相同(因此,在90%的时间内选择Pig,而在其他2.5%的时间内选择其他变体都是无效的)。
您可能会假设所请求的文件名对于您的文件系统将始终有效(但它们可能包含空格等)。
对于Pig的所有变体,您的代码也可以选择将单个尾随换行符输出到该文件。
由于这是code-golf,因此以字节为单位的最短代码将获胜。