Facebook投稿埋め込みのtest。 投稿はひっぱれるが、アルバムは埋め込めない。 投稿 by Ranyuen. ノートは出来る。 投稿 by Ranyuen.
昨日の(草稿) Dart風の、constructor引数を自動的にinstance変数に代入するアレをRubyでにて、Ripperを使ひ、RubyのcodeをS式にした。S式の内容を調べた。序でに必要だったので、S式をRuby codeに戻す、簡単な方法も調べた。 cf. How would I recompile Ripper's AST back to Ruby code? - Stack Overflow http://stackoverflow.com/questions/4878032/how-would-i-recompile-rippers-ast-back-to-ruby-code Sorcererを使ってみた。defの引数辺りにbugが有る様だが、まあ使へる。 確認code Gemfile source 'https://rubygems.org' gem 'sorcer
追記: 20130923 当記事で挙げたbugは潰した。 Dart風のautomatic field initializationをRubyで http://c4se.hatenablog.com/entry/2013/09/23/075129 bug bug。bugだらけ。特に、引数にdefault値を持たせられる形式に就いては、一部しか対処出来てゐない。rest引数も、Ruby 1.9以降の、rest引数の後ろにもrequired引数を置ける形式には、未だ手を付けてゐない。 AspectR (AOP, aspect oriented programming) を持ち出してるけど、大仰な気はする。 rest引数は、わりと解決出来る。 default引数 (optional引数) のdefault値を取得出来なくて、辛い。Ripperでparseしてるけど、S式の種類が多過ぎて死ぬ。もっと
Labeled Tab-separated Values (LTSV)でJavaを探した。 あのさあ……。Apacheとか洞うでも好いからさあ (Tomcat特有の傲慢)。 書いた。 因みにC# (.NET) のは昔書いた。 cf. C# でLTSVを壊したり組み立てたりするの書いた http://c4se.hatenablog.com/entry/2013/02/09/003554 cf. 極めて愚かな事をしていたLTSV .NETを更新した (class名を変更した) http://c4se.hatenablog.com/entry/2013/02/24/035011 import java.io.Serializable; import java.util.HashMap; import java.util.Map; import lombok.val; /** * Labeled
ImageMagick素晴らしいけど、入ってなかったりするので。それにImageMagickは以前やった。 cf. ImageMagicで影付き文字を入れるRuby scriptを増強しました http://c4se.hatenablog.com/entry/2012/12/02/005226 GD module (libgd) を使って画像を生成する。GDが使へるかは、phpinfo()とgd_info()を見れば判る。 cf. PHP: GD および Image 関数 - Manual http://www.php.net/manual/ja/ref.image.php randomな四角を十個描く。 <?php // license: Public Domain $type = empty($_GET['type']) ? 'png' : $_GET['type']; $image
viewをclassにしたりしてゐると、其れをsingletonにしとくと、debugに便利だったり。別になんら新しいことではないけど、此う云ふのは何度書いても目についてゐない人は居る。 JavaScriptでsingletonを作るのは、なんら珍しいことではない。 var object = { prop: 'property', method: function() { } }; これでよい。newもconstructorも何も無い。おかしいところは何も無い。無理にclassにする前に検討すると好い。 勿論、関数としてconstructorを呼び出す形式 (class) もJavaScriptには有る。new演算子を使ふ形式だ。此の形式をsingletonにするのも簡単で、上記の応用である。 function C(a, b) { if (C.instance) return C.inst
楽曲を頂いた。それはわたし宛てではなかったが、わたしを含めた一団に回覧せられたものだった。本人が回覧した意図は明確ではない。舞台に上がれぬ策に窮した一手にもおもへるし、信念にもおもへる。両方かもしれなかった。わたしは未だにそれを本人に聞ける立場にあるが、おそらく聞いたところで、たしかなところは解るまい。わたしはさふいふ水準で考へやうとしてゐる。よく考へ抜かれた歌詞、充分なギターと歌声、打ち込みの、慣れないドラムスを、わたしはよくかんがへもせず、再構築することにした。それがわたしのやり方だからだ。 Remix Try again!! FuniSaya "Remix Try again!!" artist: Noahly, FuniSaya title: Remix Try again!! original: Noahly "Try agarn!!" 2011 license: CC by-s
Clojureのloop-recurを、Rubyでやった。Elixirの古いversionにも有ったらしい。 末尾再帰の最適化 (TCO, tail call optimization) が出来ないsystemだと、助かるみたい。Ruby 2.0.0とかClojureみたいな。 def factorial n cloop n, 1 do |n, acc| if n == 0 acc else recur n - 1, acc * n end end end みたいに使ふ。 instance_evalしか知らなくて、instance_execを見附け出すのに一番時間が掛った。アホだ。 Rubyだと、末尾再帰をloopに変換するmethod実装例とかも、検索すれば見附かるけど。 cf. Rubyで末尾再帰最適化をする。 - athosの日記 http://d.hatena.ne.jp/atho
LRU (least rescently used) cacheの模型。Ruby 1.9.3と2.0.0で確認した。 HashListとか云ふ意味不明なdata構造を捻出したが、たぶん他に使い道が無い。 unittest blockは此れ。 -> Rubyで、D言語風にassertionを直書きする簡易unit test http://c4se.hatenablog.com/entry/2013/08/15/022137 List, ListNode: 双方向連結list。おなじみ。164行。 HashList: 挿入順序を保存したhash table。中身は連結listとhash tableの組み合わせ。instance_evalとか使ってるけど見ちゃダメ。69行。 LruCache: LRU cacheの模型。今回の目的のもの。此の本体を美しく書きたいが為の、HashListだった。3
まあ、なんと云ふか、めんどくさかったりするし、D言語のunittest blockが羨ましかったりするし(〃l _ l) assertion丈使ひたいので、Module: Test::Unit::Assertions (Ruby 2.0)を読み込む。 下記を読めば解る。 # license: Public Domain $DEBUG = true # @param test_name [String] def unittest test_name, &proc if $DEBUG include Test::Unit::Assertions proc.call puts "#{test_name} ok." end end if $DEBUG eval 'require "test/unit/assertions"' end unittest 'test of test' do asser
前回のを書き足した。合ってる気がしない。 cf. RGBとHSVの色空間を相互変換する。Rubyで http://c4se.hatenablog.com/entry/2013/08/04/190937 # coding=utf-8 class Color # RGB to HSV conversion | color conversion http://www.rapidtables.com/convert/color/rgb-to-hsv.htm # @param r [Integer] red 0..255 # @param g [Integer] green 0..255 # @param b [Integer] blue 0..255 # @return [Integer[]] [hue, saturation, value] # hue 0..360 degree # satur
何人目だ。 RGB (red 赤, green 緑, blue 青) とHSV (hue 色相, saturation 彩度, value 明度) の色空間 (color space) を相互変換する。Rubyで。 cf. RGB to HSV conversion | color conversion http://www.rapidtables.com/convert/color/rgb-to-hsv.htm cf. HSV to RGB conversion | color conversion http://www.rapidtables.com/convert/color/hsv-to-rgb.htm 追記20130812 増えた。 cf. RGBとHSVとHLSとCMYKの色空間を相互変換する。Rubyで http://c4se.hatenablog.com/entry/201
きっと何人目だ感あふれる、日付時刻用にhelper moduleだよ。 Erlangは{{year, month, date}, {hour, minute, second}}形式のtupleを日時に使う事が多いっぽいから、其れとの相互変換も仕込んでるよ。 RubyのActiveSupport Timeみたいな1.years.beforeみたいのも、できるっぽいから、やってみたいよね。macroだよなあ。 # license: Public Domain defmodule DateHelper do defrecord DateTime, year: nil, month: nil, date: nil, hour: nil, minute: nil, second: nil def fromTuple {{year, month, date}, {hour, minute, secon
FuniSayaは、夏コミ C84にはCurry e.p.に参加するのみです。 Curry e.p. cf. 遅くなってスンマセン!コミケ情報です! - SiteModifyBlog http://sm.2-d.jp/blog/2013/08/post-243.html 1日目: 西く01a「RK496」 3日目: 西く38b「へにゃへにゃメガネ団」 track 06 FuniSaya 二日目のカレーの王子さま 製作中デモ ももんが喫茶ωふに茶屋:OzopRyitswe デモ1 今後FuniSayaのイベント参加に就いて FuniSayaは暫く前から、イベント出店を停止しておりました (cf. 紅楼夢8に於けるFuniSayaに就いて http://c4se.hatenablog.com/entry/2012/10/07/012037 )。そこから現在まで、他の方の企画に参加する形態でのみ
此っち (Haskell (とElixir) でもMöbius関数を実装した) では、遅延無限listを作って自然数列を作ったが、ElixirにはStreamが有ったのだった。0.10.0に成って、|>がStreamを吐く様に成ったそうなので、使ってみる。 Stream.iterate(0, &1 + 1) |> Stream.take(10) |> Enum.to_list # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]此れは Enum.to_list(Stream.take(Stream.iterate(0, fn acc -> acc + 1 end), 10))に等しい。 それだけ(〃l _ l) 遅延listより此っちのStreamの方が本当に好いのか。洞うなんだ。
短いcodeが好ければどうぞ。trickyじゃないcode golfでもない短いMobius函數 (メビウス関数) です。 # encoding=utf-8 # license: Public Domain def mobius n (2 .. n).reduce(1) do |current, prime| if n % prime == 0 current = -current n /= prime end break current if n == 1 break 0 if n % prime == 0 current end end p mobius(3 * 19 * 19 * 23) == 0 p mobius(3 * 19 * 23) == -1 p mobius(3 * 19 * 23 * 151) == 1 cf. Elixir (とJavaScriptとRuby) でMö
気に成ってHaskellでもMobius函數 (メビウス関数) を実装した。Elixir版も再掲する。 cf. Elixir (とJavaScriptとRuby) でMöbius関数を実装した http://c4se.hatenablog.com/entry/2013/07/12/210747 前回 Haskellをまともに書いたのは人生で初めてである。今まで書こうにも感覚的に、書けなかった。RubyのEnumerableを使いまわしてゐれば、あまり怖くはなかった。 HaskellでMöbius函數 compileが通った次の瞬間にtestも通って驚いた。好い事だ。ghciは便利だが、Elixirのiexも便利なので洞うと云ふ事は無い。 好い事も悪い事も有る。Elixir (Erlang) はcurry化されてゐないので、arity (引数の個數) の異なる函數は全く区別される。其れをpa
.。oO(此のblogは、主に音樂と考察と Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡) 音樂は SoundCloud に公開中です。 考察は現在は主に Cosense で公表中です。 Programming は GitHub で開發中です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く