Почему в аргументах File.new не используются символы вместо строк?

Мне было интересно, почему люди, написавшие библиотеку File , решили использовать аргументы, определяющие, в каком режиме открывается файл, в строках, а не в строках. символы.

Например, вот как это сейчас:

f = File.new('file', 'rw')

Но не лучше ли было бы сделать, например,

f = File.new('file', :rw)

или даже

f = File.new(:file, :rw)

? Кажется, это идеальное место для их использования, поскольку аргумент определенно не должен быть изменяемым.

Мне интересно узнать, почему так вышло.


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

9
задан Community 23 May 2017 в 11:44
поделиться