Мне было интересно, почему люди, написавшие библиотеку File
, решили использовать аргументы, определяющие, в каком режиме открывается файл, в строках, а не в строках. символы.
Например, вот как это сейчас:
f = File.new('file', 'rw')
Но не лучше ли было бы сделать, например,
f = File.new('file', :rw)
или даже
f = File.new(:file, :rw)
? Кажется, это идеальное место для их использования, поскольку аргумент определенно не должен быть изменяемым.
Мне интересно узнать, почему так вышло.
Обновление: я только что прочитал связанный вопрос о символах и строках , и я думаю, что консенсус состоял в том, что символы не так хорошо известны, как строки, и все в любом случае привыкли использовать строки для индексации хеш-таблиц. Однако я не думаю, что со стороны разработчиков стандартной библиотеки Ruby было бы правомерно ссылаться на незнание темы символов, так что я не думаю, что это причина.