【发布时间】:2018-04-01 12:54:30
【问题描述】:
假设字符串为"abc",用户输入为3,则输出为"def"。
每个字符都应该由用户输入增加为整数值。
我写了一个代码,但它给出了一个错误。有没有其他方法可以做到这一点?
#!/usr/bin/ruby -w
puts "Enter the value of n";
$n=gets;
s = String.new("abc");
s.split("").each do |i|
$j = 0;
x = i;
begin
x.next;
$j = $j + 1;
end while $j < $n
puts x;
end
【问题讨论】:
-
应该
<<是<? -
是的 @SebastianPalma 我刚刚编辑过。
-
@SebastianPalma 我也尝试过 (i.ord + n).chr 直接将 a 转换为 d 避免 x.next 但这也给出了错误 - 在 `+': String can't be coerced进入 Fixnum (TypeError)
-
见 ganesh 的回答。尝试将用户的输入解析为整数
$n=gets.to_i。请参阅repl。 -
您是否考虑过 +n 字符不在字母表中的字符串的所需输出,例如
'xyz'等?
标签: ruby