为了证明Ruby真的好用,hello world也能写的如此简洁: 代码如下: puts ‘hello world’ 1.输入/输出 代码如下: print(‘Enter your name’) name=gets() puts(“Hello #{name}”) 注:Ruby是区分大小写的 2.String类 puts(“Hello #{name}”)中的变量 name是内嵌在整个String里的,通过 #{ } 包裹进行内嵌求值,并用双引号””包裹(如果只是单引号”只会返回字面值)。不仅是变量,你甚至可以嵌入”\t””\n”和算数表达式。 代码如下: puts “Hello #{ Ruby是一种优雅且强大的编程语言,以其简洁的语法和面向对象特性而受到许多开发者的喜爱。在本文中,我们将深入探讨Ruby中的几个基础概念,包括字符串、数字、类和对象。 让我们从“Hello World”程序开始。在Ruby中,打印“Hello World”只需要一行简单的代码:`puts 'hello world'`。`puts` 是 Print USed To 的缩写,它会将后面的字符串输出到控制台并自动添加换行符。 接下来是输入/输出的操作。在Ruby中,我们可以使用`print`来提示用户输入,`gets`来获取用户输入的值。例如: ```ruby print("Enter your name") name = gets() puts("Hello #{name}") ``` 这里,`gets()` 获取的用户输入会被赋值给变量 `name`,然后通过 `puts` 输出带有用户名字的问候。`#{}` 是Ruby中的插值语法,用于在字符串中嵌入变量的值。 在Ruby的`String`类中,字符串可以包含变量、特殊字符和表达式。例如: ```ruby puts "Hello #{showname}" puts("\n\t#{(1+2) * 3}\nGoodbye") ``` 在这段代码中,`#{}` 用于计算表达式 `(1+2) * 3` 的结果,并将其插入到字符串中。 Ruby的`if...then`语句用于条件判断。每个`if`必须有一个对应的`end`来结束条件块,`then`是可选的,如果它与`if`在同一行,可以省略。例如: ```ruby taxrate = 0.175 print "Enter price (ex tax): " s = gets subtotal = s.to_f if (subtotal < 0.0) subtotal = 0.0 end tax = subtotal * taxrate puts "Tax on $#{subtotal} is $#{tax}, so grand total is $#{subtotal+tax}" ``` 这里的`to_f`方法用于将字符串转换为浮点数。 Ruby中的变量分为三类:局部变量(`val`),全局变量(`$val`)和实例变量(`@val`)。局部变量仅在其定义的作用域内有效,全局变量在整个程序中可见,而实例变量属于对象,通常用来存储对象的状态。 在Ruby中定义类非常直观。以下是一个简单的类定义示例: ```ruby class Dog def set_name(aName) @myname = aName end def get_name return @myname end def talk return 'woof!' end end ``` 每个类都需要用`end`来结束定义,`def`定义方法,`@myname`是实例变量。`initialize`方法是类的构造函数,用于初始化新创建的对象。 此外,Ruby允许覆盖默认的`to_s`方法,如`Treasure`类所示,这使得对象可以用自定义的字符串表示。 Ruby以其简洁的语法和强大的面向对象特性,提供了高效和易于理解的编程体验。从字符串插值、输入输出处理,到类和对象的定义,Ruby都提供了灵活的工具来帮助开发者构建复杂的程序。不断探索和实践,你将能够更深入地理解和利用Ruby的这些特性。
































- 粉丝: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- java行李寄存平台设计与实现毕业论文.docx
- java学生选课网站的设计与实现-lw毕业论文.docx
- 遥感技术基于Google Earth Engine的Sentinel-1 SAR影像处理与可视化:伯利兹GT-Peten区域多时相数据分析系统构建
- 4kkkkkkkkkkkkkkkkkkkkkkkkkkkkk
- 前端工程化实战模块.zip
- java安康学院网络故障报修系统的设计与实现答辩稿.pptx
- java基于BS的高校学生重修管理系统的设计与实现答辩稿.pptx
- java东青家教预约系统的设计与实现答辩稿.pptx
- java基于SSM的在线教育平台设计与实现答辩稿.pptx
- java基于SSM的济南南部山区旅游管理系统答辩稿.pptx
- java基于css html的名著阅读网站的设计和实现答辩稿.pptx
- java基于SSM框架的智慧环保平台的设计与实现答辩稿.ppt
- 光子集成MOT综述这篇文章详细介绍了集成化三维磁光阱(3D-MOT) Enabling photonic integrated 3D magneto-opticaltraps 英文
- java基于用户喜好度的SSM动漫周边交易平台答辩稿.pptx
- java家庭学校一体化教育系统的设计与实现答辩稿.ppt
- java基于实训室管理平台的设计与实现答辩稿.ppt


