国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Ruby - ruby 存取器 概念

ruby 存取器 概念

2020-04-10 14:56ruby教程網(wǎng) Ruby

什么是一個(gè)存取器? 我們?cè)谇懊嬉呀?jīng)討論過(guò)實(shí)變量了,但卻未過(guò)多的討論.一個(gè)對(duì)象的實(shí)變量屬于它的屬性,也是它與其它來(lái)自同一個(gè)類的對(duì)象的一般區(qū)別.讀寫它的屬性是重要的;這樣做需要做一個(gè)叫著屬性存取器(attributeaccessors)的方法

什么是一個(gè)存取器?

我們?cè)谇懊嬉呀?jīng)討論過(guò)實(shí)變量了,但卻未過(guò)多的討論.一個(gè)對(duì)象的實(shí)變量屬于它的屬性,也是它與其它來(lái)自同一個(gè)類的對(duì)象的一般區(qū)別.讀寫它的屬性是重要的;這樣做需要做一個(gè)叫著屬性存取器(attributeaccessors)的方法.我們將很快看到我們并不是總要明確地寫出存取器方法,但現(xiàn)在先讓我們了解所有的細(xì)節(jié).存取器的兩種類型是寫(writer)和讀(reader).

ruby>classFruit

|defset_kind(k)#awriter

|@kind=k

|end

|defget_kind#areader

|@kind

|end

|end

nil

ruby>f1=Fruit.new

#

ruby>f1.set_kind("peach")#usethewriter

"peach"

ruby>f1.get_kind#usethereader

"peach"

ruby>f1#inspecttheobject

#

足夠簡(jiǎn)單;我們可以存取關(guān)于我們搜索的水果種類的信息.但我們的方法名還有點(diǎn)兒牢騷.下面的這個(gè)更簡(jiǎn)潔,也更方便.

ruby>classFruit

|defkind=(k)

|@kind=k

|end

|defkind

|@kind

|end

|end

nil

ruby>f2=Fruit.new

#

ruby>f2.kind="banana"

"banana"

ruby>f2.kind

"banana"

inspect方法

一個(gè)小插曲.你已注意到當(dāng)我們?cè)囍苯佑^察一個(gè)對(duì)象,就會(huì)出現(xiàn)一些像#的東西.這只是個(gè)缺省的行為,我們可以自由地改變它.我們所要做的只是加一個(gè)名為inspect的方法.它會(huì)換一個(gè)更明了的描述對(duì)象的字符串,包括部分或全部的實(shí)變量.

ruby>classFruit

|definspect

|"afruitofthe"+@kind+"variety"

|end

|end

nil

ruby>f2

"afruitofthebananavariety"

一個(gè)相關(guān)的方法是to_s(轉(zhuǎn)化為字符串),用在打印對(duì)象的時(shí)候.一般的,你可以認(rèn)為inspect是一個(gè)編寫或調(diào)試程序時(shí)用的工具,而to_s是一個(gè)美化程序輸出的方法.eval.rb顯示結(jié)果時(shí)總采用inspect.你可以用p方法簡(jiǎn)單的從程序里取得調(diào)試信息.

#Thesetwolinesareequivalent:

panObject

printanObject.inspect,"\n"

生成存取器的簡(jiǎn)單方法

因?yàn)樵S多實(shí)變量需要存取方法,Ruby提供了對(duì)應(yīng)于標(biāo)準(zhǔn)方法的縮寫.

Shortcut縮寫Effect等同于

attr_reader:vdefv;@v;end

attr_writer:vdefv=(value);@v=value;end

attr_accessor:vattr_reader:v;attr_writer:v

attr_accessor:v,:wattr_accessor:v;attr_accessor:w

讓我們利用它加上"新鮮"信息.首先,我們自動(dòng)生成了讀和寫方法,然后我們合并這一新信息到inspect中去:

ruby>classFruit

|attr_accessor:condition

|definspect

|"a"+@condition+@kind"

|end

|end

nil

ruby>f2.condition="ripe"

"ripe"

ruby>f2

"aripebanana"

更有趣的水果

如果沒(méi)人吃我們成熟的水果,也許我們?cè)撟屗鼈儬€掉.

ruby>classFruit

|deftime_passes

|@condition="rotting"

|end

|end

nil

ruby>f2

"aripebanana"

ruby>f2.time_passes

"rotting"

ruby>f2

"arottingbanana"

但當(dāng)我們這樣做時(shí),卻引入了一個(gè)小問(wèn)題.現(xiàn)在,如果我們?cè)賱?chuàng)造第三個(gè)水果會(huì)發(fā)生什么?記住:實(shí)變量不會(huì)在賦值前存在.

ruby>f3=Fruit.new

ERR:failedtoconvertnilintoString

是inspect方法在這里挺有理由地抱怨.我們已讓它報(bào)告水果的品種和狀態(tài),但f3還未賦過(guò)任何值.如果我們?cè)敢?我們可以重寫inspect方法使之用define?方法測(cè)試實(shí)變量并只在它們存在時(shí)才報(bào)告,但也許那不是很有用;因?yàn)槊恳粋€(gè)水果都有類型和狀態(tài).看來(lái)我們應(yīng)該在某種程度上確定其屬性.這正是下一節(jié)我們要討論的.

延伸 · 閱讀

精彩推薦
  • RubyRuby簡(jiǎn)潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象

    Ruby簡(jiǎn)潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象

    這篇文章主要介紹了Ruby簡(jiǎn)潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象,本文是學(xué)習(xí)筆記第一篇,需要的朋友可以參考下 ...

    腳本之家2472020-04-20
  • RubyRuby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例

    Ruby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例

    這篇文章主要介紹了Ruby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例,建造者模式將一個(gè)復(fù)雜對(duì)象的構(gòu)造與它的表示分離,使同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表...

    范孝鵬2192020-05-07
  • RubyRuby環(huán)境下安裝使用bundler來(lái)管理多版本的gem

    Ruby環(huán)境下安裝使用bundler來(lái)管理多版本的gem

    這篇文章主要介紹了Ruby環(huán)境下安裝使用bundler來(lái)管理多版本的gem的方法,舉了Ruby On Rails中的應(yīng)用實(shí)例來(lái)進(jìn)行演示,需要的朋友可以參考下 ...

    日拱一卒4332020-05-10
  • RubyRuby迭代器的7種技巧分享

    Ruby迭代器的7種技巧分享

    這篇文章主要介紹了Ruby迭代器的7種技巧分享,Ruby中的迭代器非常人性化,本文既是講解了7個(gè)技巧也是講解了7種迭代器,需要的朋友可以參考下 ...

    腳本之家4782020-04-20
  • RubyRuby進(jìn)行文件信息輸出實(shí)例代碼

    Ruby進(jìn)行文件信息輸出實(shí)例代碼

    Ruby進(jìn)行文件信息輸出實(shí)例代碼,數(shù)據(jù)是隨機(jī)的,所以每次的記錄都會(huì)不同。 ...

    ruby教程網(wǎng)2962020-04-10
  • Ruby剖析 Ruby 訪問(wèn)控制

    剖析 Ruby 訪問(wèn)控制

    前面,我們說(shuō) Ruby 沒(méi)有函數(shù),只有方法.而且實(shí)際上有不止一種方法.這一節(jié)我們介紹 訪問(wèn)控制 (accesscontrols). 想想當(dāng)我們?cè)谧罡邔佣皇窃谝粋€(gè)類的定義里定義...

    ruby教程網(wǎng)3572020-04-08
  • Ruby簡(jiǎn)要說(shuō)明Ruby中的迭代器

    簡(jiǎn)要說(shuō)明Ruby中的迭代器

    這篇文章主要介紹了Ruby中的迭代器,迭代器的概念在動(dòng)態(tài)語(yǔ)言的編程中十分重要,文章中介紹了Ruby中的each迭代器和collect迭代器,需要的朋友可以參考下 ...

    goldensun2772020-04-25
  • RubyCentOS中配置Ruby on Rails環(huán)境

    CentOS中配置Ruby on Rails環(huán)境

    經(jīng)過(guò)一個(gè)上午的折騰,終于把ROR環(huán)境在CentOS中搞定,繞了很多彎路,把文章寫下來(lái)總結(jié)一下 ...

    可樂(lè)加糖4762020-04-12
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40 Weibo Article 41 Weibo Article 42
主站蜘蛛池模板: 国产欧美久久久久久 | 蜜桃国精产品二三三区视频 | 亚洲专区在线播放 | 精品天堂 | 天堂va蜜桃一区二区三区漫画版 | 成人理论片 | 在线观看视频黄 | 国产精品成人一区二区 | 日韩欧美中文字幕在线视频 | 欧美一区二区精品 | 欧美激情精品久久久久久 | 国产精品无码久久久久 | 搡女人真爽免费午夜网站 | 91看片淫黄大片一级在线观看 | 黄网av | 大胆一区 | 伊人青青操| 国产精品一区二区无线 | 日本中文字幕一区 | 欧美不卡视频 | 久久精品视频网站 | 91免费版在线观看 | 看av网址 | 在线视频一区二区三区 | 国内精品视频 | 久久午夜视频 | 蜜桃传媒一区二区 | 黄色免费视频在线观看 | 久久久精品一区二区 | 国内在线精品 | 亚洲一区欧美 | 性视频一区二区 | 日韩中文字幕在线视频 | 99视频在线 | 九九九久久国产免费 | 久久久国产视频 | 毛片在线视频 | 国产亚洲精品女人久久久久久 | 麻豆乱码国产一区二区三区 | 国产欧美日韩一级大片 | 欧洲成人午夜免费大片 |