`
Hooopo
  • 浏览: 335262 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

the difference: Array[] and Array.fetch [via comp]

    博客分类:
  • Ruby
阅读更多
array = ["a","b","c"]        # => ["a", "b", "c"] 
array[1]                     # => "b" 
array.fetch 1                # => "b" 
# ================================================== # 
# So far, so fine. 
# ================================================== # 
array[666]                   # => nil 
array.fetch 666 
IndexError: index 666 out of array 
        from (irb):5:in `fetch' 
        from (irb):5 

This may seem like a trival difference between the two, but
I am wondering in general why they behave differently.
Or in other words, why array[] does not return an error
whereas .fetch specifically does.

You might say that's the purpose of fetch, to raise an exception for
out-of-bounds indexes when [] just returns nil. Pick the method you want
depending on the error handling you want.

fetch is more general; if you want it to behave like []() in this case,
say array.fetch(666,nil)

PS:也可以指定fetch返回其他值


分享到:
评论

相关推荐

    node-abort-controller:基于EventEmitter的Node.JS的AbortController Polyfill

    节点异常终止控制器基于EventEmitter的Node.JS的AbortController Polyfill用法import fetch from 'node-fetch'import AbortController from 'node-abort-controller'const controller = new AbortController ( )...

    kbejjjbd(www.greenxf.com).rar

    You may need to manually fetch and install the runtime package here: https://support.microsoft.com/en-ca/help/2999226/update-for-universal-c-runtime-in-windows 解决办法: 百度搜索下载安装...

    php提示Warning:mysql_fetch_array() expects的解决方法

    在mysql数据库连接时碰到Warning: mysql_fetch_array() expects …错误提示,根据我的经验这个是sql返回的query为空了,我们没有加己判断直接使用了. mysql_fetch_array()函数导致的,下面我们一起来看问题解决方案,我...

    window.request:将 window.fetch 别名为 window.request 的“大脑 polyfill”

    window.request window.fetch 的别名将window.fetch别名为window.request “大脑 polyfill”。 老实说, 听起来不太 。 “Fetch”听起来就像您只是在执行GET请求。 我们习惯于谈论请求和响应。 的实际上说了 9 次...

    Android SDK Manager解决更新时的问题 :Failed to fetch URL...

    本文主要介绍解决安装使用SDK Manager更新时的问题:Failed to fetch URL...,这里提供了详细的资料及解决问题办法,有需要的小伙伴可以参考下

    maimailog:获取maimai播放日志

    邮件日志 描述 获取maimai播放历史 安装 将此行添加到应用程序的 Gemfile 中: gem 'maimailog' 然后执行: $ bundle 或者自己安装: $ gem install maimailog ... c = Maimailog::Crawler::...c.fetch_all do |data

    MongoDB查询指定域语言Rogue.zip

    val query = Venue where (_.venuename eqs "Starbucks")query.count()query.countDistinct(_.mayor)query.fetch()query.fetch(n)query.get() // equivalent to query.fetch(1).headOptionquery.foreach{v: Venue =>...

    解决因文件权限导致git fetch命令执行失败的问题

    最近在一个基于 git 的发布系统中拉取代码,发现无法拉取最新的提交记录,通过调试和查看日志文件找到一行错误:error: cannot open .git/FETCH_HEAD: Permission denied,原因是文件权限问题导致。 问题原因 ...

    提取:一个window.fetch JavaScript polyfill

    window.fetch polyfill fetch()函数是一种基于Promise的机制,用于在浏览器中以编程方式发出Web请求。 这个项目是一个polyfill,它实现了标准的子集,足以使fetch替代传统Web应用程序中XMLHttpRequest的大多数用法...

    sudo apt-get install ethereum遇到E: Failed to fetch http://ppa.launchpad.net/, Unable to fetch some等

    在Ubuntu上搭建以太坊环境时,每次到sudo apt-get install ethereum这一步都会变得巨卡无比,并且经常遇到这个问题: ... Connection timed out...E: Failed to fetch http://ppa.launchpad.net/ethereum/ethereum/ubuntu

    JavaScript - Fetch.js、JavaScript - jQuery、JavaScript - XHR.js.zip

    在`JavaScript - Fetch.js`中,你可能会看到以下核心代码: ```javascript fetch('https://api.example.com/sms/send', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON....

    完整repo-project

    15年6月更新,完整的repo-project,完美解决fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle 错误,绕开GFW,详细请参考我的博客《完美解决repo init 错误 fatal: Cannot get ...

    genesis-launch:回购启动Fetch.ai主网

    在启动Fetch.ai时,将与FET ERC-20令牌具有完全的令牌互操作性。 最初,两个网络之间的传输将由保管网桥进行调解,并且可以传输到主网的FET令牌的供应将被限制在6000万个FET。 在网络运行的前六个月中,

    fetch-olivetti-faces数据集

    Olivetti Faces人脸数据集合处理 简介 本资源文件提供了Olivetti Faces人脸数据集的处理方法和相关代码。Olivetti Faces是一个经典的人脸识别数据集,包含了40个不同个体的400张灰度图像。每个个体有10张图像,这些...

    Python解决pip install时出现的Could not fetch URL问题

    使用python直接使用pip install xx时,出现 Could not fetch URL https://pypi.python.org/simple/requests/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate ...

    scala的orm框架srom.zip

    scala的orm框架,相比其他orm更为简洁 // Declare a model: case class Artist( name : String, genres : ...val rockArtists = Db.query[Artist].whereEqual("genres.item.name", "Rock").fetch() 标签:srom

    NTWDBLIB.DLL这个文件的版本号为2000.80.2039.0

    $msconnect=mssql_connect(...while ($row = mssql_fetch_array($msresults)) { echo "$row[0] "; } ?> 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cao_shg/archive/2010/03/10/5366313.aspx

    极光推送Demo

    <string>fetch <string>remote-notification </array> <key>JPUSHAppkey 你的AppKey</string> <!-- 在极光控制台获取 --> ``` 4. 初始化JPush,在AppDelegate.m中: ```objc #import <JPushSDK/JPushSDK.h> - ...

    Fetch:一个window.fetch JavaScript polyfill-开源

    Fetch是window.fetch polyfill,这是一种基于Promise的机制,用于在浏览器中以编程方式发出Web请求。 由于它实现了标准Fetch规范的子集,因此它可以替代传统Web应用程序中XMLHttpRequest的大多数用法。 它与大多数...

Global site tag (gtag.js) - Google Analytics