Momota.pw別館

Yuki_noeの進捗状況

RustでParser combinatorを書いた

chasaというRustのparser combinatorを作った。おそらくparser combinatorは実際に車輪より再発明されていると思うが、今回の再発明にも理由がある。 Rustはplatformを選ばずunicodeが使える言語だ。strはunicode文字列のことだし、unicode character catego…

∑^n k^m を積分と漸化式で出す

だれしも、って積分して漸化式でいけない? って思ったことありませんかね。だからやります。まず、和として としておきます。すると、ところで、なので、となり、なので、 を得ます。これで、みんなが直感的に思っている「積分して最後の係数調整すれば出て…

うざいし贅沢なつらみ

TL; TD 数学がちょっとできるから天才風キャラを演じて不当な学歴を得たけど最高にダサいしそのうち来るであろうしっぺ返しに怯えてるよ ボクは生まれてこの方勉強をしていない。小学校では宿題しかしなかったし、夏休みの宿題は最後の数日で終わらせた。中…

速いフィボナッチをjsで短く書く

let f=(n,_,a,b)=>(_=n=>n++?([a,b]=_(n%8?n%2?n>>1:n-2:n),n%8?n%2?[a*(a+2*b),a*a+b*b]:[a+b,a]:[b,a-b]):[0,1])(n)[0]; この前の2倍公式を使い、偶数なら2倍公式を適用、下位3ビットが1なら1を足したもの、そうでなければ1を引いたものから計算する。こう…

再起もメモも行列も使わないで再起より確実に速いフィボナッチ数列の計算方法

今回はフィボナッチ数列です。本当何やってるんでしょうねまず、の解の大きい方をとします この数はと考えることができますまた、フィボナッチ数列の第項をとしますの時とすると、 であるため、であることが数学的帰納法で証明されますここから、 となり、 …

メソッドを呼び出したあとにNoMethodErrorを返してあたかも自分が定義されていないかのように振る舞えるメソッドを作りました

class Object def raise_n_m_error er ee = caller[0][/`([^']*)'/, 1] ex = NoMethodError.new begin self.__send__(?#) rescue $!.message.sub(?#, ee) end ex.set_backtrace(er) raise ex end end def test raise_n_m_error caller end test #=> test.rb:…

わびさび方式から、インデント付きでみやすく、スペースを表示しないHTML(ジェームズ・クラーク式記法)に変換する

つまりこういうことです def format_xml arr return "#{_format_xml [arr]}" end def _format_xml(arr, args = {}) args = { :pre => false }.merge(args) return_text = '' arr.each_with_index do |item, index| if item.instance_of? Array inner = item[…

Yuki_noeがだいたい完成?

どうも、百田變化です。 Yuki_noeの記法があらかた完成したので報告です。まだすべてのHTMLを表現できるような感じではありませんが、大体のことはできるようになっています。 基本文法は # てってれー てってれー てってれー # てってれー[属性](主にid.cla…

Yuki_noeの記法とパーサについて

なんというか、そういうことです。 _global-header #= Momota.pw^+^ _global-title.title #: Something new about web and others. ##> a[#]: 記事のタイトル -title: 属性はこういうふうに指定できます。 -data: -title: もちろん、こういうふうにすること…

あれです

そう、あれです Yuki_noe(軽量マークアップ言語)つくってる百田變化です 「いくらでも拡張できる言語あったら、面白いよね」という発想から至りました といってもあらかたの記号は使ってしまったのでマークアップとどこまで呼べるかというところではあります…