You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Ruby代码去除提示符前的行号并让输入与提示同处一行

Ruby代码修改方案

问题原因解析

  • 问题1(前置计数多余):原有代码的输出语句中主动拼接了#{count}变量,所以会把计数数字输出在提示符前,直接删除该部分即可。
  • 问题2(输入自动换行):Ruby的puts方法输出内容后会默认追加换行符,导致输入光标跳到下一行,将puts替换为不会自动加换行的print方法即可解决。

直接修复原有问题的代码

def main()
  count = 1
  while count <= 10
    print "Enter integer 1: "
    int1=gets.chomp.to_i
    count = count + 1

    print "Enter integer 2: "
    int2=gets.chomp.to_i
    count = count + 1

    print "Enter integer 3: "
    int3=gets.chomp.to_i
    count = count + 1

    print "Enter integer 4: "
    int4=gets.chomp.to_i
    count = count + 1

    print "Enter integer 5: "
    int5=gets.chomp.to_i
    count = count + 1

    print "Enter integer 6: "
    int6=gets.chomp.to_i
    count = count + 1

    print "Enter integer 7: "
    int7=gets.chomp.to_i
    count = count + 1

    print "Enter integer 8: "
    int8=gets.chomp.to_i
    count = count + 1

    print "Enter integer 9: "
    int9=gets.chomp.to_i
    count = count + 1

    print "Enter integer 10: "
    int10=gets.chomp.to_i
    count = count + 1

    sum=int1+int2+int3+int4+int5+int6+int7+int8+int9+int10
  end
  puts "Total is: #{sum}"
end

main()

优化后更简洁的实现

原有代码的循环逻辑没有起到简化作用,可直接在循环内完成输入和累加,不需要定义10个单独的变量,代码更精简易维护:

def main
  sum = 0
  (1..10).each do |i|
    print "Enter integer #{i}: "
    sum += gets.chomp.to_i
  end
  puts "Total is: #{sum}"
end

main

内容的提问来源于stack exchange,提问作者Eyeofthebeholder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:24:03