2016-09-01から1ヶ月間の記事一覧
Python に Generator というのがあります。Ruby では Enumerator でほぼ同じことができますが、引数の与え方がいまひとつよくわかりません。でというわけでもないのですが、勉強のために頑張って Fiber で実装してみました。Generator#args で引数を与えます…
kiito.hatenablog.comこの記事は勉強になりました。Python の内包表記で def create_url_table(urls) return {url: get_title(url) for url in urls if 'google' not in url} と書くのを、Ruby の each_with_object を使うと def create_url_table(urls) url…
aaaaa強調するbbbbb aaaaa<mark>強調する</mark>bbbbb
cairo は二次元画像を描くためのライブラリです。これと Ruby でちょっと GIFアニメを作って遊んでみました。 cairo は Linux ならたぶん最初から入っているようです。Linux Mint 17.2 には既に入っていたので、それを使いました。 Ruby で cairo を使うには…
Ruby でこれはスタックオーバーフローします。 def add(n, a = 0) return a if n.zero? add(n - 1, n + a) end puts add(10000) #=>a.rb:2:in `add': stack level too deep (SystemStackError) 例えばこう対策します。 obelisk.hatenablog.com 上のとおり以…
アンダースタンディング コンピュテーション ―単純な機械から不可能なプログラムまで作者: Tom Stuart,笹田耕一,笹井崇司出版社/メーカー: オライリージャパン発売日: 2014/09/18メディア: 大型本この商品を含むブログ (9件) を見る上の本を読んでいたところ…
標準添付ライブラリに Prime がありますが、自分でやってみました。めっちゃ素朴な実装です(数が大きくなると急速に遅くなります)。 gen_primes = Enumerator.new do |y, i = 2| loop do catch do |jp| 2.upto(i - 1) {|j| throw(jp) if (i % j).zero?} y <…