ruby 入門例項

2021-07-06 00:04:44 字數 3840 閱讀 8783

#!/usr/bin/ruby

# -*- coding: utf-8 -*-

#coding=utf-8

puts "this is main ruby program"

puts ""

puts __file__

puts __line__

#我是注釋

end

=begin

若包含中文編碼,則需要注意兩點:

1. 必須在首行新增 # -*- coding: utf-8 -*-,告訴直譯器使用utf-8來解析原始碼。

2. 必須設定編輯器儲存檔案的編碼為utf-8。

=end

begin

datatype.rb

#!/usr/bin/ruby

#coding=utf-8

#整型 integer 以下是一些整型字面量

#字面量(literal):**中能見到的值,數值,bool值,字串等都叫字面量

#如以下的0,1_000_000,0xa等

a1=0

#帶千分符的整型

a2=1_000_000

#其它進製的表示

a3=0xa

puts a1,a2

puts a3

#puts print 都是向控制台列印字元,其中puts帶回車換行符

=begin

這是注釋,稱作:嵌入式文件注釋

類似c#中的/**/

=end

#浮點型

f1=0.0

f2=2.1

f3=1000000.1

puts f3

puts 2**(1/4) #1與4的商為0,然後2的0次方為1

puts 16**(1/4.0) #1與4.0的商為0.25(四分之一),然後開四次方根

puts 'escape using "\\"';

puts 'that\'s right';

puts "multiplication value : #";#使用序列 # 替換任意 ruby 表示式的值為乙個字串。在這裡,expr 可以是任意的 ruby 表示式。

name="ruby"

puts name

puts "#"

雜湊和陣列

#!/usr/bin/ruby

#coding=utf-8

puts "陣列型別";

ary = [ "fred", 10, 3.14, "this is a string", "last element", ]

ary.each do |i|

puts i

endnames=array.new(20)

puts "#"

puts names.size # 返回 20

puts names.length # 返回 20

names=array.new(4,"mac")

puts "#"

nums=array.new(10)

puts "#"

puts ("陣列初始化")

nums = array.(1, 2, 3, 4,5)

nums2 = array[1, 2, 3, 4,5]

digits = array(0..9)

puts "#"

puts "#"

puts "#"

num = digits.at(6)

puts "#"

a = [ "a", "b", "c" ]

n = [ 65, 66, 67 ]

#壓縮指令

puts a.pack("a3a3a3") #=> "a b c "

puts a.pack("a3a3a3") #=> "a\000\000b\000\000c\000\000"

puts n.pack("ccc") #=> "abc"

print "雜湊鍵值對\n"

hsh = colors =

hsh.each do |key,value|

print key," is ",value,"\n"

endmonths = hash.new( "month" )

puts "#"

puts "#"

h = hash["a" => 100, "b" => 200]

puts "#"

puts "#"

months =

keys = months.keys

puts "#"

print "範圍型別\n";

(5..25).each do |n|

print n," "

end

類和物件

#!/usr/bin/ruby

#coding=utf-8

class customer

=begin

例項變數:例項變數可以跨任何特定的例項或物件中的方法使用。這意味著,例項變數可以從物件到物件的改變。例項變數在變數名之前放置符號(@)。

類變數:類變數可以跨不同的物件使用。類變數屬於類,且是類的乙個屬性。類變數在變數名之前放置符號(@@)。

全域性變數:類變數不能跨類使用。如果您想要有乙個可以跨類使用的變數,您需要定義全域性變數。全域性變數總是以美元符號($)開始。

=end

@@no_of_customers=0

def initialize(id, name, addr)

@cust_id=id

@cust_name=name

@cust_addr=addr

enddef display_details()

puts "customer id #@cust_id"

puts "customer name #@cust_name"

puts "customer address #@cust_addr"

enddef total_no_of_customers()

@@no_of_customers += 1

puts "total number of customers: #@@no_of_customers"

enddef to_s

"customer:#@cust_id--#@cust_name--(#@cust_addr)"

endendcust1=customer.new("1", "john", "wisdom apartments, ludhiya")

cust2=customer.new("2", "poul", "new empire road, khandala")

puts cust1.to_s

puts cust2.to_s

puts cust1.display_details

puts cust1.total_no_of_customers

puts cust1.total_no_of_customers

puts cust2.display_details

puts cust2.total_no_of_customers

puts cust2.total_no_of_customers

class sample

def hello

puts "成員函式"

ruby入門 方法

要注意引數,可變長度引數,和引數預設值 還有物件的特殊方法 class person def say1 word1,word2 puts word1 word2 end variable var def say2 word puts word end default var def say3 wor...

ruby入門 模組

模組 module 和類同一級 和類類似,但是不能例項化 可以被類包含 self可以指定模組方法 module demomodel def foo1 common method puts foo1.common method enddef self.foo2 module method puts f...

Ruby入門 數值

整數 ruby內建的數值型別分為整數物件 integer 和浮點小數物件 float 在其他的語言中,整數的長度一般被限定在32bit或者62bit,在ruby的整數中,沒有這樣的限制,只要記憶體允許,任意無限長的整數都可以被使用。例1 正整數 p 1 負整數 p 2 表明符號的正整數 p 1 非常...