僕は発展途上技術者

JavaScriptとRubyとで配列内の目的のオブジェクトの前後を取得する

クイズです。

配列内の特定のオブジェクトの次(next)と前(prev)を取得する処理で、 JavaScript では、

array = ['a', 'b', 'c']
target = 'a'
prev = array[array.indexOf(target) - 1] // undefined が返る
next = array[array.indexOf(target) + 1] // 'b' が返る

のように想定通りに動くのですが、Ruby では

array = ['a', 'b', 'c']
target = 'a'
prev = array[array.index(target) - 1] # ????
next = array[array.index(target) + 1] # 'b' が返る

想定どおり動きません。

なぜでしょう?JavaScript と Ruby 行き来しているとはまるな、これ。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ