2011-12-16 4 views
1

Я бы хотел, чтобы переменная size была определена в моей программе через пользовательский ввод. Мне не удалось определить его каким-либо образом, кроме числа, введенного вручную в мой код (в настоящее время 10).Назначение значения переменной

def pass (size = 10) 
+0

Вы хотите сделать целое число частью вашего объекта? или вы просто хотите присвоить значение уже существующему внутреннему var? – RedComet

+1

Что значит «неудачный» - вы получили сообщение об ошибке? что именно вы пробовали? (Я предполагаю, что вы попробовали «получает», который возвращает строку, .to_i преобразует ее в целое число). В любом случае, пожалуйста, предоставьте более соответствующий код. – inger

ответ

0

Это работает для меня:

def pass(size) 
    puts size 
end 

puts "please input a number:" 
size = gets 
pass(size) 
0

Вам может понадобиться использовать to_i, в качестве пользовательского ввода является строкой. Затем он работает как предыдущий ответ:

def pass(size = 10) 
    size = size.to_i 
    puts "It's a number! #{size}" if size.is_a? Integer 
end 

puts "please input a number:" 
size = gets 
pass(size) 
+0

Это не похоже на 100% правильное: сначала вы конвертируете размер в целое число, а затем проверяете, действительно ли это целое число? – inger

+0

Это просто простой пример, показывающий, что это действительно целое число. Если вы удалите предыдущую строку, это не сработает. –

+0

Да, во всяком случае, тогда какая точка проверки, является ли это Integer, после того, как он действительно является целым? В основном вы тестируете метод .to_i во второй строке. IOW, это похоже на: «puts» Это номер! # {size} "if true" – inger

Смежные вопросы