输入与Module
来源:互联网 发布:mac识别不了u盘启动盘 编辑:程序博客网 时间:2024/06/05 21:03
ruby的输入
print "How old are you? "age = gets.chomp()print "How tall are you? "height = gets.chomp()print "How much do you weigh? "weight = gets.chomp()puts "So, you're #{age} old, #{height} tall and #{weight} heavy."
为什么使用的的
puts
?puts
会产生新行
str.chomp(separator=$/) → new_str
Returns a new String with the given record separator removed from the end of str (if present). If $/ has not been changed from the default Ruby record separator, then chomp also removes carriage return characters (that is it will remove \n, \r, and \r\n). If $/ is an empty string, it will remove all trailing newlines from the string.
Module
require 'open-uri'open("http://www.ruby-lang.org/en") do |f| f.each_line {|line| p line} puts f.base_uri # <URI::HTTP:0x40e6ef2 URL:http://www.ruby-lang.org/en/> puts f.content_type # "text/html" puts f.charset # "iso-8859-1" puts f.content_encoding # [] puts f.last_modified # Thu Dec 05 02:45:02 UTC 2002end
require 与 include
require:类似于 C 和 C++ 中的 include 语句以及 Java 中的 import 语句。如果一个第三方的程序想要使用任何已定义的模块,则可以简单地使用 Ruby require 语句来加载模块文件:
require filename
include : 可以在类中嵌入模块。如果是模块是单独定义在一个单独的文件中,那么在嵌入模块之前就需要使用require语句引用该文件
class Decadeinclude Week no_of_yrs=10 def no_of_months puts Week::FIRST_DAY number=10*12 puts number endendd1=Decade.newputs Week::FIRST_DAYWeek.weeks_in_monthWeek.weeks_in_yeard1.no_of_monthsmodule Week FIRST_DAY = "Sunday" def Week.weeks_in_month puts "You have four weeks in a month" end def Week.weeks_in_year puts "You have 52 weeks in a year" endend
Ruby中的Mixins
Ruby 不直接支持多重继承,但是 Ruby 的模块(Module)有另一个神奇的功能。它几乎消除了多重继承的需要,提供了一种名为 mixin 的装置。
Ruby 没有真正实现多重继承机制,而是采用成为mixin技术作为替代品。将模块include到类定义中,模块中的方法就mix进了类中。
module A def a1 end def a2 endendmodule B def b1 end def b2 endendclass Sampleinclude Ainclude B def s1 endendsamp=Sample.newsamp.a1samp.a2samp.b1samp.b2samp.s1
- 输入与Module
- Application与Module互调
- Application与Module通信
- 驱动与运行module
- lua require与module
- constructor与module
- module.exports与exports
- Linux module 原理与实现
- ruby 的module 与类
- IC与Module成本分析
- Nodejs exports与module exports
- Nodejs exports与module exports
- module 与 component 的区别
- 关于module.exports与exports
- MODULE
- module
- Module
- MODULE
- 经典排序算法--冒泡排序
- putty上执行后台运行命令失效
- MySQL中查询后用查询结果当删除的判断条件,进行删除操作
- 【hihocoder】#1566 : 皇室成员的名字[Offer收割]编程练习赛25
- C语言形参和实参
- 输入与Module
- python简单用户管理模拟
- Tensorflow--多层神经网络
- 引用,指针,常量引用,常量指针,指针常量的区别
- 图像处理与计算机视觉基础,经典以及最近发展
- Linux Makefile的使用
- ES6的新增特性1
- iOS学习笔记-113.多线程12——NSOperation基础
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)