当前位置: 首页 > news >正文

网站开发工具设备要求百度搜图

网站开发工具设备要求,百度搜图,重庆网站建设帝维科技,网站建设公司的那些坑Ruby和许多极为流行的编程语言都是面向对象的。多数的面向对象编程语言#xff0c;每个对象都是一个样例或者既定类的实例以及独立对象的行为。 一、创建一个通用对象 创建一个通用对象 obj Object.new定义通用对象的行为 def obj.talk puts I am an objectp…Ruby和许多极为流行的编程语言都是面向对象的。多数的面向对象编程语言每个对象都是一个样例或者既定类的实例以及独立对象的行为。 一、创建一个通用对象 创建一个通用对象 obj Object.new定义通用对象的行为 def obj.talk puts I am an objectputs (Do you object?) end定义带参数的方法 def obj.c2f(c)c * 9.0 / 5 32 end任何方法的返回值与方法执行中最后一个表达式的计算值相等 Ruby提供了一个关键字明确地定义了返回值return这个关键字地使用通常是可选的但是多数程序员都喜欢用它因为它使隐式的返回值表达式变得显而易见。 def obj.c2f(c)return c * 9.0 / 5 32 end假如需要返回多个值则必须使用它这些值会自动被包装为一个数组。 二、制作一个对象 一张入场券是一个常见的对象且有一组众人熟知的属性和行为。这里将从一个较高的视角来看待一个如入场券般的Ruby对象能做什么以及该对象对自身的理解。 创建一个ticket.rb ticket Object.newdef ticket.date01/02/03 end def ticket.venueTown Hall end def ticket.eventAuthors reading end def ticket.performerMark Twain enddef ticket.seatSecond Balcony, row J, seat 12 enddef ticket.price5.50 end这个马克吐温的入场券是一个简单的例子但是它包含了一些Ruby编程的重要流程和原则。这个最重要的经验就是程序完成任何有用事情的信息都必须存储于对象之中。ticket对象拥有这些信息通过方法的调用可以请求ticket对象返回信息 查询对象 print This ticket is for: print ticket.event , at print ticket.venue , on puts ticket.date . print The performer is puts ticket.performer . print The seat is print ticket.seat , print and it costs $ puts %.2f. % ticket.price通过字符串插值缩短查询代码 puts This ticket is for: #{ticket.event}, at #{ticket.venue} The performer is: #{ticket.performer}. The seat is: #{ticket.seat}, The it costs #{%.2f. % ticket.price}无论在插值运算符中的内容是什么他都能被分步求值求值的结果会被插入字符串中。 用方法表达布尔状态 def ticket.avai_statussold end def ticket.avai?false endif ticket.avai?puts You are in luck! elseputs Sorry--that seat has been sold. end注意方法avai?以问号结尾 三、对象的原生行为 就算是新创建的对象也不会是一块白板。只要对象创建并存在它就能响应一组消息。 输入以下命令可以查看原生方法的列表 Object.new.methods.sort这些原生方法中的一小部分是非常普遍和非常有用的。 1、用object_id表示唯一标识对象 在Ruby中每个对象都有一个和它唯一关联的ID编号。可以通过请求一个对象的object_id获得一个对象的ID使用如下类似的代码。 obj Object.new puts The id of obj is #{obj.object_id}. str Strings are objects too, and this is a string! puts The id of the string object str is #{str.object_id}. puts And the id of the integer 100 is #{100.object_id}运行这段代码可以看到 The id of obj is 60. The id of the string object str is 80. And the id of the integer 100 is 201在尝试确定两个对象是否相等的时候每个对象都拥有一个唯一的ID编号是很有用的可以通过判断object_id是否相等而判断两个对象是否相等。 a Object.new b a puts as id is #{a.object_id} and bs id is #{b.object_id}运行之后可以看到a和b的对象id是相同的。 2、用respond_to?方法查询对象的能力 Ruby对象响应消息。在程序运行期间的不同事件点依赖于对象和为对象定义的各种方法一个对象可能会响应指定的消息也可能不会。所以可以使用respond_to?方法判断一个对象是否有某种方法。 if obj.respond_to?(talk)obj.talk else puts Sorry, the object doesnt understand the talk message end该方法时自省或者反射的一个例子这两个词指的是可以在程序运行期间进行状态检测。Ruby提供了许多用于自省机制的工具。使用methods方法测试对象是另一种自省和反射的技术。 3、用send方法发送信息给对象 如果希望从键盘输入合适的查询词组(venue、performer等)就能从ticket对象中得到信息则需要把如下代码添加到已有的程序中 print Information desired: request gets.chomp该行代码可以从键盘中获取一行输入。这样可以使用双等号比较符测试两个不同的输入值它会基于对象自身的内容对字符串进行比较然后调用与值匹配的方法。 if request venueputs ticket.venue elsif request performerputs ticket.performer ......尽管如此还是不得不继续编写整个入场券的属性列表但那变得有些冗余了。 这里还有一个可选的方案给ticket对象直接发送对应的词语。按如下方式替换前面例子里的代码 if ticket.respond_to?(request)puts ticket.send(request) else puts No such information available end这个版本中使用了send方法作为ticket对象获得消息的通用入口。这样可以避免整个可能的请求清单并由处理ticket对象的消息执行该消息以取代检查ticket对象所具有的能力。 还可以使用__send__或者public_send代替send__send__方法比普通send更安全而public_send不能访问私有方法。 四、方法参数 在编写方法的时候允许传递任意数量的参数在单独的方法参数名称前使用一个*即可 def obj.multi_args(*x)puts I can take zero or more arguments! end符号*x表示在调用方法的时候可以提供任意数量的参数。变量x被分配一个对应任意参数的数组。可以在稍后使用数组每次测试其中的一个。 一般情况下参数都是变量的引用如果不想变量发生变化可以传入s.dup复制了一个对象。 def change_string(s)s.replace(New String!) end s Original String change_string(s) change_string(s.dup)还可以冻结一个变量冻结后不能再对这个变量发生改变 s.freeze
http://www.hkea.cn/news/14292116/

相关文章:

  • 重庆营销型网站随做的好处用wordpress 登录界面
  • 电脑网站开发学习目前哪些企业需要做网站建设的呢
  • 企业网站建设2017工程施工合同协议书范本
  • 北京市网站设计-推广公司火车站网站建设方案
  • 网站开发与维护的工作内容标题关键词优化技巧
  • 专业做logo的网站网络营销的多种形式和特点
  • 网站建设代理公司wordpress背景图片插件
  • 第三方网站wordpress google fonts 360
  • 安防公司做网站图片wordpress自动关键词
  • 微信小程序源代码上海搜索引擎优化
  • 电子商务网站费用wordpress 加入代码
  • 国产做爰全免费的视频网站企业网站访问量的第一来源是( )
  • 房山石家庄网站建设广州技术网站建设
  • 庐山市建设规划局网站wordpress jsp版
  • 百度做直播和短视频网站网站常用的蓝色
  • 专业做网站优化网站创建于
  • 去哪儿网站开发网站名称在哪里注册
  • 网站建设维护方案ppt网站怎么做免费seo搜索
  • safari网页视频怎么下载廊坊网站优化
  • 辽宁建设厅规划设计网站开发区
  • 佛山网站建设公司价格多少网站做成软件
  • 西安找工作哪个网站好服装网站建设策划书预期投入
  • 网站建设相关制度怎么把网站推广出去
  • 诸葛建站官网宁波seo排名方案优化公司
  • 高端品牌网站建设的特点天猫交易购买平台
  • 微信官网网站模板下载不了app注册推广平台
  • 有什么网站可以做投票功能吗盘锦网站优化
  • 网站排版怎么做的电商哪个平台销量最好
  • 专做服装的网站重新做系统后怎么没有wordpress
  • wordpress自动刷新2次玉林seo