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

Ruby字符串与数组比较:数组遍历得到的|word|赋值的new_word为何是字符串

Ruby 练习题疑问解答
  • 首先sent.split(" ")是字符串类的实例方法,作用是按空格分割原字符串,返回值是全部元素为字符串类型的数组,你遍历words数组拿到的块变量|word|从一开始就是字符串类型,不存在其他类型的可能。
  • 你疑问的new_word是abbreviate_word(word)的返回值,该方法的实现逻辑决定了它的返回值必然是字符串:
    1. 方法内部第一行就初始化了new_word = "",这是标准的空字符串实例
    2. 后续new_word += char是字符串拼接操作,全程操作的对象都是字符串类型
    3. 方法最终return new_word,返回值自然是字符串类型,赋值给变量后类型不会发生变化

如果你后续遇到类似类型存疑的情况,可以直接用p 变量名.class打印变量的类型验证,比如在遍历块中插入p word.class、p new_word.class,运行后就能看到输出结果都是String。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:00:05