我是 Ruby 新手,正在开发一个项目,从文件中获取文本,将文本转换为盲文格式,然后将盲文文本放入新文件中。
现在我可以读取文本,将整个字符串转换为数组。然后使用英文字符的哈希值来盲文,我可以运行映射并将数组的元素替换为盲文等效项。
由于格式问题,我在与新的盲文字符数组交互时遇到问题。
starting_message = ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]
braille_converted_message = [
"0.\n00\n..",
"0.\n.0\n..",
"0.\n0.\n0.",
"0.\n0.\n0.",
"0.\n.0\n0.",
"..\n..\n..",
".0\n00\n.0",
"0.\n.0\n0.",
"0.\n00\n0.",
"0.\n0.\n0.",
"00\n.0\n.."]
我需要将新数组逐个元素打印到文件上,包括正确的格式。即
0.0.
00.0
....
我遇到的问题是它要么格式不正确,就像只显示为 0.\n00\n..
或放入一条垂直线。
最佳答案
要从左向右书写,您需要转置您的输出。为此,您必须split
每个元素,transpose
结果和join
之后他们:
puts braille_converted_message.map(&:split)
.transpose
.map(&:join)
输出:
0.0.0.0.0....00.0.0.00
00.00.0..0..00.0000..0
....0.0.0....00.0.0...
请注意,还有一个 Unicode block Braille Patterns :
⠓⠑⠇⠇⠕⠀⠺⠕⠗⠇⠙
关于ruby - 无法使用正确的格式打印/写入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66521734/