はじめに
ComputerCraftのターミナル画面では、1行単位のコピー&ペーストはできるのですが、 複数行にまたがる文字列はコピペできませんでした。
その原因として、複数行にまたがる文字列に含まれる改行コード「\n」をコピー&ペーストできないことが挙げられます。 つまりCCそのものが対応していなかったのです。
次期バージョンであるComputerCraft1.6では、"paste"イベントという新しいイベントの導入により、改行コードを含む複数行を扱えるようになりました
そのため、「edit」プログラム(これはLuaプログラムです)の一部を書き換えることで、複数行コピー&ペーストが可能になることがわかり、掲示板で指摘されました(というか僕が指摘しました)。そのあたりが公式のForumで議論されて、修正コードも提案されて、あとはその修正コードをdan200氏が取り込むだけ
・・・だと思っていました。
dan200氏からの返答
しかし、dan200氏からの返答はこうでした。
- 3/1日付けの返答
- By design. Paste event has been fixed to only return one line
- Multiline paste is intentionally not supported, the characters after the first line break are now removed
つまり、「複数行コピペは意図的にサポートしません。"paste"イベントは複数行は返さず、最初の行だけ返すようにします」
うあああああ。これもしかして、やぶへびですか? もしそうならごめんなさい。
複数行コピペで得るもの失うもの
dan200氏は、複数行コピペ(multiline paste)を意図的にサポートしないと断言しました。 これには何らかの意図があるはずです。
dan200氏の意図を推測しましょう。
まず、複数行コピペができると、editコマンドを使ってプログラムを書くときに、他のサイトなどからコピペで持って来やすいですよね。
つまり何も考えずにそのままコピペという機会が多くなると思います。
おそらくこの、「思考停止」を嫌ったのではないでしょうか。
逆にコピペが禁止されている現状だと、プログラムを書くためには、editコマンドを使うならばほぼ全てを手入力しなくてはなりません。 Web上で公開されているプログラムを何も考えずにコピペということはできません。
とはいえ、saveフォルダにあるファイルを自分の愛用するエディッタを使って直接編集することは可能ですし(このときエディッタを通して普通にコピペできます)、もっと言うならばネット上に公開されたプログラムをpastebinコマンドを使えばそのままダウンロードできます。
個人的には、そんなに変わらないのでは?
コピペを許可することでハードルが下がるので、メリットの方が大きいのでは?
と思わないでもないですが、dan200氏はサポートしないことを明確に断言しました。
残念ですが仕方ありません。