Ruby Programming control и мета-комбинации - PullRequest
2 голосов
/ 21 февраля 2009

Ruby Programming control и мета-комбинации, используемые для?

?a                        # character code
?\n                       # code for a newline (0x0a)

?\C-a                     # control a = ?A & 0x9f = 0x01
?\M-a                     # meta sets bit 7
?\M-\C-a                  # meta and control a
?\C-?                     # delete character

Я сталкивался с этим термином при чтении в книге «Рубиновая кирка». Я не уверен, что на самом деле делает мета или элемент управления, я предполагаю, что он делает что-то похожее на операторы битового сдвига C (<< >>), но я не конечно, поэтому решил подтвердить.

1 Ответ

2 голосов
/ 21 февраля 2009

Они используются только для данных в строках, они не влияют на сам код Ruby. Думайте о них как о сокращении для непечатаемых символов, таких как \ n и \ e.

Один случай, о котором я могу подумать, это если бы вы разговаривали с терминалом, похожим на telnet. В этом случае отправка "? \ C-?" подключение было бы похоже на нажатие клавиши удаления на клавиатуре, если вы были напрямую подключены к терминалу.

telnet_socket << "?\C-?" #Write delete character to socket

Если вы не имеете дело с терминальными или действительно эзотерическими системами, я сомневаюсь, что вы когда-нибудь будете их использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...