亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > RUBY 新手教程 跟我一起學ruby

RUBY 新手教程 跟我一起學ruby

熱門標簽:外呼線路從哪里出來的 巫師3地圖標注魔力之所 AI電銷機器人 線路 柯城手機地圖如何做地圖標注 中牟外呼系統違法嗎 漯河電銷 天津外呼系統怎么收費 淮安自動外呼系統供應商 征服者企業地圖標注

跟我一起學ruby
By Tiger
注:本教程轉載自在游戲先行者論壇,版權屬于作者Tiger。
第一篇
第二篇

第一篇
自序
從今天起我就要開始學Ruby了。怎么樣,沒見吧?一個新人寫教程。就憑我堅強的毅力,科學的自學方法,以及我的鉆研精神,我有信心學通Ruby,而同樣是新手的你也可以!由于本教程是菜鳥教萊鳥若有什么不對的地方還請前輩指教!如果沒人看,就當我自愚自樂了。
======================================================================
卷首語
--------------------------------------------------------------------------
準備知識
一、為什么要學Ruby?
不用說一定是幫助發揮RM的潛力啦。而Ruby有多好多壞都與我無關,因為我學它只為了一個原因--RM!
二、什么是Ruby?
它是一種純粹的面向對象編程的腳本語言。這就像C語言啦,就是一種電腦聽得懂的語言,就好比你對電腦大叫一聲“我要上網”它是不會讓你上網的,必須通過一種語言來告訴它,Ruby就是其中之一,當然Ruby也要用打的,不是用說的...
三、學Ruby要準備啥?當然是RM了,我還準備了三個東西:
.筆記本--別看不起它,這可是重中之重,你的一些疑問與炅感、研究得出的結論都可記在上面.
.一個新工程,我暫時把它命名為Test,它將用研究與實踐.
.另一個新工程,我暫時把它命名為標準,它的作用是萬一你把自帶的Ruby改得面目全非,有它可以做參照。當然RM的腳本數據是保存在 Data 文件夾內的 Scripts.rxdata 文件中的,你也可以對此文件進行備份。
--------------------------------------------------------------------------
實踐基礎
一、關于腳本腳本編輯器:
.RM中,進入腳本腳本編輯器的方法是按F11或在主菜單「工具」菜單中選擇「腳本編輯器」。。
.腳本編輯器中一些快捷鍵(感謝carol3,這不是我發現的):
tab:可以跳格、能夠自動進行縮進
ctrl + 鼠標滾輪 : 調整文字的大小
ctrl + F:查找本頁腳本
ctrl + shift + F:查找所有腳本
ctrl + H:替換
ctrl + A:全選
ctrl + C,ctrl + V:拷貝粘貼
ctrl + Z,ctrl + Y:撤銷與重做
F3:和ctrl + F配套使用,"查找下一個"
F4,F5:選擇上一個/下一個腳本
F6:把現在選的這一行命名為本腳本名
ctrl + enter:保存并關閉本窗口
二、創建程序的步驟:
.確定程序的目標-比如你的目標是做一個求三角形面積的程序。
.確定要使用什么樣的方法-我知道S=1/2ah=1/2abSinC,求角度太煩,且后者不是單獨的乘除運算,故吾選前者。
.創建程序。
三、編程中應養成的好習慣:
.寫注釋。很多人認為寫注釋是在浪費時間——但別忘了——當你在寫代碼時,也許你的思路清楚;然而當程序逐漸變大,或當你面對幾個月前寫的代碼時,注釋的作用就顯而易見了。
在 Ruby 中,# 符號后面的一整行文字會認定為注釋。當你要寫大塊的注釋時, 也可以用 =begin 和 =end 的中間的一切為注釋。
注釋是綠色的,不會執行,不會影響到程序的運作,只作為編寫者標記的備忘記錄來使用。
未完成...
四、編譯錯誤的看法
當你拼寫、語法有錯誤了,程序就會停止運行,并告訴你相關的信息,此時再按F11進入腳本編輯器,就會看到光標放在了出錯的那一行。
如圖:
行:未初始化的常量“Persond”
具體的方法我還沒有總結。未完成...
--------------------------------------------------------------------------
TypeRun
(本來下文是不準備發的,但有人說本教程寫的有些脫離RM,所以發了下文——不準備發的原因是我不知道carol3的“RGSS區置頂腳本整理中,目前收集腳本:30,望大家添加”一帖中竟然有教程!而且有一部分與我的幾乎一樣,算了,為了保證教程的完整性,我就把我寫的發上來了...絕非抄襲!)
讓我們來入手Ruby:
實踐:標題畫面的部分自定義
實踐目的:
.學會Ruby的研究方法。
.學會根據注釋來做一些實驗。
.熟練腳本編輯器中一些快捷鍵的使用。
打開腳本腳本編輯器
.在腳本腳本編輯器的左邊找到scene_title
.可以在右邊的筐架中看到第一行:
#=====================================================================
# Scene_Title
#------------------------------------------------------------------------------
# 處理標題畫面的類
#=====================================================================
我們知道這是注釋,它的意思就是說scene_title這代碼是用于處理標題畫面的。同理,我們可以隨便看看其它的組(組就是類似scene_title的在腳本腳本編輯器的左邊的一竄一竄的代碼),怎么樣,它們的用途一目了然吧!
.既然知道它是用于處理標題畫面的,我們就拿它開刀吧!
游覽一下:讀取數據庫;生成系統對象;...這些都太深奧了在往下看——
s1 = " 新游戲"
s2 = " 繼續"
s3 = " 退出"
終于看到了熟悉的中國字了,呵!這不是RM中標題畫面的選項嗎!
看看它上面的注釋——生成命令窗口。果然是標題畫面的選項。
我們改了它試試:
s1 = "新的輪回"
s2 = "舊的回憶"
s3 = "隨風而逝"
按ctrl + enter:保存并關閉本窗口。
再按F12運行游戲。果然成功了!
.人的野心總是無限的,我還想添加一個關于本游戲!好再試試:
s1 = "新的輪回"
s2 = "舊的回憶"
s3 = "隨風而逝"
s4 = "關于本游戲"
.貪得無厭總有一些心虛,再看看它下面的內容再運行游戲吧!
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
有x、y大蓋是在說選項的框框吧!糟了,多了一個選項,框框就一定要變長,如果不去修該框框的屬性選項會出現選項無法顯示出來的情況。管它呢!就算是真的我也無能為力...
第一行有個(192, [s1, s2, s3])s1,s1,s3好象與s1 = "新的輪回"等中的s1,s1,s3說的是同一個東西吧?既然我加了s4,就得把s4也加進去:
@command_window = Window_Command.new(192, [s1, s2, s3,s4])
s4;s3之間學它樣也用 , 連接。
.再運行游戲。果然出現了關于本游戲選項而且框框也能自動調整把四個選項納入其中。可見我們剛才的猜測是錯的,有x、y大蓋是在說框框
的位置?
由圖可知:紅色框中的星星與框框上端的相對位置在修改前后沒有變過,而藍框中框框下端與RPG字符的相對位置的相對位置發生了變化,也就是說,框框上端的位置是不變的,當有新的選項時,自動延伸框框的下端。而有x、y大蓋是在說選項的框框的上端的位置?
.再試試:

復制代碼 代碼如下:

s1 = "新的輪回"
s2 = "舊的回憶"
s3 = "隨風而逝"
s4 = "關于本游戲"
s5 = "asd"
s6 = "sdasd"
s7 = "weqw"
@command_window = Window_Command.new(192, [s1, s2, s3,s4,s5,s6,s7])

果然,有標題顯示不出了。
.再看看:
s1 = "新的輪回"
s2 = "舊的回憶"
s3 = "隨風而逝"
s4 = "關于本游戲"
@command_window = Window_Command.new(192, [s1, s2, s3,s4,s5])
這會出錯。
s1 = "新的輪回"
s2 = "舊的回憶"
s3 = "隨風而逝"
s4 = "關于本游戲"
@command_window = Window_Command.new(192, [s1, s2, s3])
關于本游戲將不會被顯示。
.現在的關于本游戲還無用處。我們可以參照"新的輪回""舊的回憶""隨風而逝"來給它功能。凡是它們有的我都給關于本游戲加上。往下看,注意到有:
def update
@command_window.update
# 按下 C 鍵時
if Input.trigger?(Input::C)
case @command_window.index
when 0 # 新游戲
command_new_game
when 1 # 繼續
command_continue
when 2 # 退出
command_shutdown
end
end
end
when-當...時,這好象類似條件分歧的條件部分,注釋告訴我這是選擇新游戲;繼續;退出不同命令的分歧。
那么command_new_game;command_continue;command_shutdown就是動作了。他們會不會是Ruby中已經定義過的東西?如果是那么你為關于本游戲寫其它的東西是沒用的。那就讓關于本游戲和退出共用一個東西吧:
復制代碼 代碼如下:

def update
@command_window.update
# 按下 C 鍵時
if Input.trigger?(Input::C)
case @command_window.index
when 0 # 新游戲
command_new_game
when 1 # 繼續
command_continue
when 2 # 退出
command_shutdown
when 3
command_shutdown
end
end
end

運行之,果然是這樣!按了關于本游戲就退出了。可見command_shutdown是用來調用退出命令的。那它會不會是Ruby中已經定義過的東西?我們再往下看:
.
#--------------------------------------------------------------------------
# 命令:新游戲
#--------------------------------------------------------------------------
.
.
.
.
.
.
.
#--------------------------------------------------------------------------
# 命令:繼續
#--------------------------------------------------------------------------
.
.
.
.
.
.
.
#--------------------------------------------------------------------------
# 命令:退出
#--------------------------------------------------------------------------
這好象是在分類討論。它們都以 def xxxxxxx開頭,而xxxxxxx的內容就是前面分歧中各選項所對的內容了。可見那它不是Ruby中已經定義過的東西。那就為我們自定義留下了余地:
復制代碼 代碼如下:

def update
@command_window.update
# 按下 C 鍵時
if Input.trigger?(Input::C)
case @command_window.index
when 0 # 新游戲
command_new_game
when 1 # 繼續
command_continue
when 2 # 退出
command_shutdown
when 3
abc
end
end
end

復制一下 命令:退出中的內容,并粘貼在退出后,把粘貼的內容中的 def command_shutdown改為def abc。運行之效果和前面一樣。
好了就我現在的實力,也只能進行到此了,如果懂一些語法,可以把def asd下面的內容改一改。
--------------------------------------------------------------------------
總結
未完成...
--------------------------------------------------------------------------
作業
.程序開發的步驟?
.試著使用腳本編輯器中一些快捷鍵。
提高題:
試著總結腳本編輯器使用中出現的一些錯誤類型及其看法。
未完成...
-------------------------------------------------------------------------------------------------------------------------
答案


第二篇
第一章——類,對象和方法
--------------------------------------------------------------------------
準備知識
既然說Ruby是一種純粹的面向對象編程的腳本語言,那么我就從對象開始學起。
一、對象是什么?
游戲中的任何東西都可以被可以解釋為對象。
錢的數目是對象,村長是對象,流氓甲也是象。因為Ruby所能處理的值都是對象,為了方便對象的操作就引進了類的概念。
二、類是什么?
對象的種類就稱為類。
村長和流氓甲屬于NPC類,錢的數目屬于自然數類(注:這里所說的類你可以自己定,你也可以說村長和流氓甲屬于人類:屬于哺乳類:屬于...)
一些特殊的屬于這個類的對象叫作類的實體(或實例)。
在日常生活中,我們對一切對象的分類都是有一定層次的。
我們知道:生物〉動物〉哺乳類〉人類
村長和流氓甲屬于人類,它就一定有哺乳類的屬性,也就一定有動物的屬性。我們稱生物是動物的父類,動物是生物子類,不難發現子類會繼承父類的屬性。當然也會遇到這樣的情況:父類的某些屬性不可以被某一特定的子類繼承——雖然一般鳥類都會飛,但企鵝是鳥類中不會飛的一個子類。
得到自然界這種規律的啟發,Ruby就引進了繼承。它大大減少了程序員的工作量,我們只需要定義一個父類(或叫做超類)的屬性,它的子類就會自動繼承它父類的屬性。當然當你遇到像上文提及的那個企鵝特例還要新增或重定義子類和父類之間的區別。繼承的意思,就是保持被繼承者的性質但卻同時擁有自己獨有的特性。
引進了類只是方便對象的操作,那么究竟怎么操作對象呢?那就要用方法了。
三、方法是什么?
方法是某個類中所有的對象專用的命令。
你只需在某個對象上調用某個方法就可以讓這個對象施行這個方法所代表的方法。而這個被操作的對象稱為“作用實例”或是“方法的參數”。
比如說你養了許多狗,(狗是一個類,被你養的狗是它的子類)有一個叫旺財(旺財是對象,也是實例),你每天訓練他們坐下(這是在定義一個方法),之后每當你發號坐下這個命令時(這是在調用坐下這個方法)被你養的狗就會坐下。(你就通過方法完成了對對象的操作)。假如被你養的狗還分狼狗和哈巴狗二類,(狼狗和哈巴狗是被你養的狗的子類),它們會繼承它父類中定義過的方法。當然一個類中可以定義許多方法(你可以教狗許多東西)。
又比如說把Ruby看作CD機,CD機所操作的一切東西——CD就是所有的對象,類是歌曲的風格(如RM是一類,Rap是另一類);當然你也可以把歌手當類的分法(如周杰倫是一類,陳奕迅是另一類),而調用方法就是按播放按鈕,停止按鈕,暫停按鈕等。
實踐基礎
在Ruby中創造一個對象并對其進行操作的步驟如下:
首先得定義類的屬性——
一、類的定義
格式:
class 類名
類中定義的內容
end
注意:類名必須以大寫字母開頭。
如果是一個子類就這樣寫:
class 子類名 父類名
類中定義的內容
end
或在定義后面直接寫上:
class 子類名 父類名
end
這只是讓父類繼承父類,不是重定義。為什么這么說呢?
光有一個類還不行,接著再往里面塞方法,以便以后對對象的操作。
二、方法的定義
方法的定義寫在“類中定義的內容”那里
格式:
def
方法中定義的內容
end
注意:方法必須以小寫字母開頭。
當然當你遇到像上文提及的那個企鵝特別的子類時,你還要重定義子類和父類之間的區別這叫稱為重載,格式同上。方法的調用如反復定義,則以最后一次為準。
在子類方法中調用父類相同方法的情況下,要使用關鍵詞 super。super將調用被當前方法覆蓋的父類中的同名方法。
格式:
super(定義的內容, ... )
若省略括號和參數時,將會把當前方法的參數原封不動地傳遞給父類中的同名方法。若調用時不想使用參數的話,請使用括號顯式地標出,像super()這樣。
最后創造一個屬于這個類的對象(實例)——
三、實例的創造
格式:
實例名 =類名.new
實例終于創造好了,現在就該對它進行操作了。
四、方法的調用
在ruby里,我們通過點 . 來調用一個對象的方法
格式:
已創造的實例名.方法名
如果你要創造一只臨時存在的實例,并給其加上方法:
(類名.new).方法名
或:
類名.new.方法名
復制代碼 代碼如下:

class NPC
def intro
print "我是NPC?"
end
end
class LioumangNPC
def talk
print "XX在村子的南方"
end
end
流氓甲=Lioumang.new
流氓甲.talk #顯示 我是NPC?
流氓甲.intro #因為流氓甲繼承了它的父類的方法,所以顯示 XX在村子的南方

說明:
~5定義一個類——NPC
~11定義一個NPC的子類——Lioumang
~4為NPC定義一個名叫intro的方法,print " "的做用是顯示“”內的東西。(先不要管它怎么運作的)
~10為Lioumang定義一個名叫talk的方法
創造實例——流氓甲
為流氓甲調用talk的方法
為流氓甲調用intro的方法


復制代碼 代碼如下:

class NPC
def intro
print "aaa"
end
end
class LioumangNPC
def intro
print "bbb"
end
end
流氓甲=Lioumang.new
流氓甲.intro

說明:
顯示的是bbb,可見方法的調萌綬錘炊ㄒ澹蛞宰詈笠淮撾肌5綣?3行變為 流氓甲=NPC.new 則顯示aaa

復制代碼 代碼如下:

class NPC
def intro
print "aaa"
end
def talk
print "ccc"
end
end
class NPC
def intro
print "bbb"
end
end
流氓甲=NPC.new
流氓甲.intro
流氓甲.talk

說明:
先顯示的是bbb,再顯示ccc,可見類如反復定義,則以保留他們交集的補集,他們的交集以最后一次為準。但如果13行變為 流氓甲=NPC.new 則顯示aaa。

復制代碼 代碼如下:

class NPC
def talk(a=nil) #nil為空集
p a
end
end
class Lioumang NPC
def talk(a)
super(5) # 以5作為參數進行調用
super(a) # 以5作為參數進行調用
super # 以5作為參數進行調用,super(a)的簡寫
a = 1
super # 以1作為參數進行調用,super(a)的簡寫
super() # 無參數的調用
end
end
Lioumang.new.talk 5

說明:
~4方法的作用是顯示變量a,而a=nil,既顯示nil
可見:若省略Super的括號和參數時,將會把當前方法的參數原封不動地傳遞給父類中的同名方法。若調用時不想使用參數的話,請使用括號顯式地標出,像super()這樣。

您可能感興趣的文章:
  • ruby 學習筆記(2) 類的基本使用
  • ruby 學習筆記(1) 初識語法
  • 在Ruby on Rails中優化ActiveRecord的方法

標簽:棗莊 西雙版納 河池 內江 大慶 南昌 甘孜 克拉瑪依

巨人網絡通訊聲明:本文標題《RUBY 新手教程 跟我一起學ruby》,本文關鍵詞  RUBY,新手,教程,跟我,一起,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《RUBY 新手教程 跟我一起學ruby》相關的同類信息!
  • 本頁收集關于RUBY 新手教程 跟我一起學ruby的相關信息資訊供網民參考!
  • 推薦文章
    欧美日本韩国| 日本免费区| 亚洲天堂免费观看| 精品久久久久久中文字幕一区| 天天做日日爱夜夜爽| 99久久精品国产免费| 国产视频久久久| 一本高清在线| 国产成人精品一区二区视频| 成人在免费观看视频国产| 国产伦精品一区二区三区在线观看| 精品视频免费在线| 亚洲爆爽| 九九精品久久| 免费一级片在线观看| 欧美18性精品| 欧美日本韩国| 人人干人人插| 台湾毛片| 成人影院久久久久久影院| 免费一级片网站| 久久99青青久久99久久| 欧美一级视频免费观看| 天天做日日爱| 黄视频网站在线看| 美女免费精品视频在线观看| 日本伦理网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 高清一级做a爱过程不卡视频| 国产精品自拍一区| 四虎影视库国产精品一区| 台湾美女古装一级毛片| 国产视频一区在线| 天天做人人爱夜夜爽2020| 91麻豆国产福利精品| 麻豆系列 在线视频| 日韩免费在线观看视频| 国产成人精品一区二区视频| 久久国产精品只做精品| 日本在线不卡免费视频一区| 在线观看导航| 欧美日本国产| 成人av在线播放| 日本伦理黄色大片在线观看网站| 亚洲 男人 天堂| 九九精品影院| 成人高清护士在线播放| 国产视频一区在线| 亚久久伊人精品青青草原2020| 国产伦精品一区三区视频| 精品国产一区二区三区精东影业| 成人高清护士在线播放| 国产美女在线一区二区三区| 91麻豆精品国产自产在线观看一区 | 91麻豆国产级在线| 韩国毛片 免费| 你懂的日韩| 精品久久久久久中文| 国产美女在线一区二区三区| 精品国产亚一区二区三区| 麻豆系列 在线视频| 国产精品免费久久| 国产亚洲精品成人a在线| 精品久久久久久中文字幕2017| 毛片的网站| 色综合久久手机在线| 久久久成人网| 日韩一级黄色片| 一级女性大黄生活片免费| 精品久久久久久免费影院| 91麻豆精品国产自产在线观看一区 | 日本免费看视频| 麻豆系列 在线视频| 精品视频免费在线| 四虎影视库| 免费的黄视频| 日本在线不卡免费视频一区| 免费的黄视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久久久久久男人的天堂| 国产网站免费视频| 亚洲www美色| 国产精品自拍在线观看| 一级女性全黄生活片免费| 国产网站免费视频| 亚洲精品永久一区| 国产不卡在线看| 国产麻豆精品高清在线播放| 国产伦精品一区三区视频 | 国产高清在线精品一区二区 | 日韩一级精品视频在线观看| 久久久成人网| 国产伦精品一区二区三区在线观看| 一级片片| 国产不卡精品一区二区三区| 精品毛片视频| 国产成人女人在线视频观看| 成人免费网站久久久| 亚洲精品影院久久久久久| 成人影院久久久久久影院| 日韩中文字幕一区二区不卡| 国产精品自拍在线观看| 999久久狠狠免费精品| 成人免费观看视频| 国产91精品一区| 亚久久伊人精品青青草原2020| 沈樵在线观看福利| 国产a视频| 一级毛片视频免费| 四虎影视久久久免费| a级毛片免费观看网站| 亚洲爆爽| 午夜在线观看视频免费 成人| 欧美一级视| 99热精品在线| 91麻豆tv| 日韩专区在线播放| 日日日夜夜操| 亚洲不卡一区二区三区在线 | 黄视频网站在线看| 亚洲天堂一区二区三区四区| 国产一区免费观看| 日日夜人人澡人人澡人人看免| 精品久久久久久中文| 成人免费观看网欧美片| 久久精品欧美一区二区| 免费毛片播放| 日本特黄特黄aaaaa大片| 美女免费精品高清毛片在线视| 午夜激情视频在线播放| 91麻豆国产| 国产伦精品一区三区视频| 九九国产| 国产网站免费在线观看| 你懂的在线观看视频| 精品国产三级a| 99热精品在线| 成人影院久久久久久影院| 欧美日本韩国| 一a一级片| 久久久久久久男人的天堂| 精品国产香蕉在线播出 | 久久精品店| 久久99青青久久99久久| 四虎论坛| 成人影视在线播放| 欧美另类videosbestsex视频| 国产高清在线精品一区a| 亚洲爆爽| 国产不卡在线播放| 欧美a免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久99青青久久99久久| 国产a免费观看| 精品在线视频播放| 久久国产精品只做精品| 91麻豆精品国产自产在线观看一区| 精品视频在线观看一区二区 | 国产91精品一区| 青青久久精品国产免费看| 国产麻豆精品免费密入口 | 中文字幕一区二区三区 精品| 99久久精品国产国产毛片| 毛片高清| 精品久久久久久免费影院| 日韩字幕在线| 日本免费乱理伦片在线观看2018| 免费的黄视频| 天堂网中文字幕| 日本在线www| 中文字幕一区二区三区精彩视频 | 国产一区二区福利久久| 一本高清在线| 成人免费网站视频ww| 久久精品店| 高清一级做a爱过程不卡视频| 一a一级片| 台湾毛片| 午夜欧美成人久久久久久| 亚飞与亚基在线观看| 久久国产一久久高清| 欧美激情一区二区三区在线播放| 国产激情视频在线观看| 欧美另类videosbestsex久久| 九九免费高清在线观看视频| 91麻豆tv| 日韩免费在线观看视频| 久久99中文字幕| 97视频免费在线| 国产网站免费视频| 日韩专区亚洲综合久久| 青青久热| 国产伦久视频免费观看 视频 | 日韩一级精品视频在线观看| 午夜欧美成人久久久久久| 台湾毛片| 国产原创视频在线| 韩国三级视频在线观看| 91麻豆tv| 欧美大片一区|