文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Ruby基础代码的示例分析

2023-06-17 18:24

关注

Ruby基础代码的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Ruby语言的学习和其他编程语言一样,首先要从基础开始。在这里我们为大家介绍了一下Ruby基础代码中的BEGIN和END的编写方式。

Ruby基础代码之BEGIN 块

BEGIN 块中的代码在所有代码执行之前执行,Ruby 允许设置多个 BEGIN 块并按出现的顺序执行块中的代码。C# 程序员注意下面的代码

  1. BEGIN  

  2. {  

  3. print "OnInit(object sender, 
    EventArgs args)\n"  

  4. }  

  5. BEGIN  

  6. {  

  7. print "OnLoad(object sender, 
    EventArgs args)\n"  

  8. }  

  9. print "Running" 

上面的代码看上去很美吧,可惜的是上面的代码段会出现 parse error,正确的代码应该是

  1. BEGIN{  

  2. print "OnInit(object sender, 
    EventArgs args)\n"  

  3. }  

  4. BEGIN{  

  5. print "OnLoad(object sender,
     EventArgs args)\n"  

  6. }  

  7. print "Running" 

正如上面的代码段所呈现的,只有当起始大括号和 BEGIN 标识符位于同一行时块内的代码才能得到正确的执行。同时 BEGIN 块也不受任何控制结构的影响,因为只要出现 BEGIN 块就会得到执行并且只执行一次。

  1. i = 0 

  2. while i < 10 

  3. # 虽然处理循环结构中,但 BEGIN 
    块内的代码仍然只执行一次  

  4. BEGIN{  

  5. print "OnInit(object sender, 
    EventArgs args)\n"  

  6. }  

  7. i += 1  

  8. end  

  9. if false  

  10. # BEGIN 完全不受 if 的影响,
    只要出现 BEGIN 块就会得到执行  

  11. BEGIN{  

  12. print "OnLoad(object sender,
     EventArgs args)\n"  

  13. }  

  14. end  

  15. print "Running" 

基于只要现出 BEGIN 就会得到执行和 BEGIN 在所有代码执行之前执行的原则,即使 BEGIN 块前出现了代码,该代码仍然会等待 BEGIN 块执行之后再执行。比如下面的代码段输出结果仍然是 OnInit - OnLoad - Running。

  1. print "OnLoad(object sender, 
    EventArgs args)\n"  

  2. BEGIN{  

  3. print "OnInit(object sender,
     EventArgs args)\n"  

  4. }  

  5. print "Running" 

Ruby基础代码之END 块

END 块与 BEGIN 块相反,在所有代码执行之后执行,多个 END 块时最先出现的 END 块最后执行。除此之外,END 块虽然不受 while 的影响,但是可能通过 if 来控制 END 块的执行与否。比如下面代码的输出结果就是 Start - Load - Unload。

if false  END{  # 永远不输出  print "Init"  }  end  END{  # 最后输出  print "Unload\n"  }  END{  # 先于 Unload 输出  print "Load\n"  }  # 最先输出  print "Start\n"

关于Ruby基础代码的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯