2010-11-08 37 views

回答

2

域名沒有「擴展名」,它們只是域名和子域名。如果你碰到這個地址:

[email protected] 

你想要什麼?

你可以把你的分裂更進一步

domainPieces = domain.split(".") 

但你必須決定你要使用這些作品做什麼。

可能的代碼:

# expand this list 
closedTlds = [ 'uk', 'pro' ] 
# expand this list too 
fullDomains = [ 'del.icio.us' ] 

whoKnowsWhatThisActuallyMeans = '' 

domain = email.split("@").last 
domainPieces = domain.split(".") 

if fullDomains.include?(domain) 
    whoKnowsWhatThisActuallyMeans = domain 
else 
    if closedTlds.include?(domainPieces.Last) 
     whoKnowsWhatThisActuallyMeans = domainPieces[-3] 
    else 
     whoKnowsWhatThisActuallyMeans = domainPieces[-2] 
    end 
end 

whoKnowsWhatThisActuallyMeans # should return the correct value 

我還在學習Ruby,所以我覺得語法是正確的,但我不知道。

+0

究竟這就是爲什麼我在尋找專家意見:) – AnApprentice 2010-11-08 23:07:03

+0

你還沒有描述你想解決什麼問題。你所說的是,你想刪除「擴展名」,但你沒有描述你的意思。有許多「TLD」(頂級域名),其中包括諸如「.com」,「.org」,「.net」等標準內容,不常見的內容如「.museum」,「.info」,「 .pro「和一些雙字母國家代碼域,如」.uk「,」.cn「,」.jp「。每個頂級域名(TLD)都有一個負責子域名如何工作的小組。 「.com」有一個開放的政策,其中基本上任何域名都可以註冊, – McKay 2010-11-08 23:11:24

+0

其中像「.pro」和「.uk」這樣的域只允許某些子域名被打開。任何狀況之下。任何域的所有者可以決定是否允許子域。有一次,我負責域msdnaa.cs.byu.edu,我負責決定是否允許其下的子域名。對允許使用多少個子域幾乎沒有限制。你想解決什麼問題? – McKay 2010-11-08 23:13:05