Рубиновая строка в восьмеричный? - PullRequest
8 голосов
/ 20 августа 2010

Как я могу конвертировать "755" в 0755 в Ruby?Я хочу передать разрешения методу, использующему строку, а затем преобразовать его для использования в chmod.

Ответы [ 3 ]

15 голосов
/ 20 августа 2010

Это должно сделать это:

"755".to_i(8)
# => 493

"755".to_i(8) == 0755
# => true
0 голосов
/ 11 августа 2016

Немного опоздал на вечеринку, но вы можете проверить ошибки ввода, передав строку и основание для создания экземпляра целого числа, таким образом,

Integer("755",8)=493
Integer("855",8)
ArgumentError: invalid value for Integer(): "855"

begin
     Integer("855",8)
rescue ArgumentError, TypeError
     "Bad input"
end
0 голосов
/ 20 августа 2010
def append_zero_to_string(string)
    0.to_s + string
end 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...