なので
> _ = require 'underscore'
~略~
> _.VERSION
'1.3.1'
> _.VERSION
undefined
> _
'1.3.1'
みたいなことになる。余談だけど、この性質があるので最初の _ への代入はわざわざ書かなくても
require 'underscore'
だけ書けば、少なくとも次の一回はUnderscore.jsとしての_を使えるね。
> _ = require 'underscore'
~略~
> _.VERSION
'1.3.1'
> _.VERSION
undefined
> _
'1.3.1'
みたいなことになる。% rvm use macruby-nightly
% rvm info
--gem なんとか --gem かんとか
って書いてやればいいようだ。CRuby 1.9 では require 'rubygems' が不要なのですが、MacRuby で RubyGems を利用する際には必須となります。「MacRuby の起動にさらに時間がかかるので、rubygems をロードしていない」というのが理由です。
% rvm install macruby-nightly
{id:1, random:9}
{id:2, random:2}
{id:3, random:5}
{id:4, random:1}
みたいな、あらかじめそれぞれのドキュメントがランダムな値を持ってるコレクションがあってdb.docs.findOne( { random : { $gte : rand } } )
みたいな感じでドキュメントを取り出すと、randよりも大きいrandom(先述したランダムな値)を持ってるドキュメントを一つ取り出す。{:id1, random:9}
{:id3, random:5}
db.docs.ensureIndex( { random: '2d' } )
// それぞれのX軸の値をランダムにする
for ( i = 0; i < 10; ++i ) db.docs.insert( { key: i, random: [Math.random(), 0] } );
// $nearを使うことでランダムな値に近いやつを取れる
db.docs.findOne( {random : { $near : [Math.random(), 0] } } )
// 任意の個数取り出すこともできる
db.docs.find( { random : { $near : [Math.random(), 0] } } ).limit( 4 )
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
autocmd BufNewFile *.rb 0r ~/.vim/templates/rb.tpl
% rvm pkg install readline
% rvm reinstall ruby-1.9.3 --with-readline-dir=/Users/zakuni/.rvm/usr
set imdisable