タグ

nodeとあとで読むに関するtyosuke2011のブックマーク (4)

  • Electron 1.0 | Electron Blog

    For the last two years, Electron has helped developers build cross platform desktop apps using HTML, CSS, and JavaScript. Now we're excited to share a major milestone for our framework and for the community that created it. The release of Electron 1.0 is now available from electronjs.org. Electron 1.0 represents a major milestone in API stability and maturity. This release allows you to build apps

  • 第16章 ブロック

    イテレータ この章ではRubyスタック七のうち最後の大物、BLOCKが登場する。 これが終われば評価器の内部状態についてはわかったも同然だ。 全体像 イテレータの仕組みはいったいどうなっているのか。 まず次のような小さいプログラムで考えてみよう。 ▼ソースプログラム iter_method() do 9 # ブロックを探す目印 end 用語を確認しておく。このプログラムで言うとiter_methodが イテレータメソッド、do〜endがイテレータブロックだ。 このプログラムの構文木をダンプしたらこうなった。 ▼対応する構文木 NODE_ITER nd_iter: NODE_FCALL nd_mid = 9617 (iter_method) nd_args = (null) nd_var = (null) nd_body: NODE_LIT nd_lit = 9:Fixnum イテレータブ

  • 第12章 構文木の構築

    またnode.hではこの共用体メンバにアクセスするためのマクロも用意されて いる。 ▼NODEアクセス用マクロ 166 #define nd_head u1.node 167 #define nd_alen u2.argc 168 #define nd_next u3.node 169 170 #define nd_cond u1.node 171 #define nd_body u2.node 172 #define nd_else u3.node 173 174 #define nd_orig u3.value : : (node.h) 例えばこんなふうに使う。 NODE *head, *tail; head->nd_next = tail; /* head->u3.node = tail */ ソース中ではほぼ間違いなくこのマクロのほうが使われる。そのごくわずかな 例外はparse.

  • 第15章 メソッド

    この章ではメソッドの探索と起動について話す。 メソッドの探索 用語 この章ではメソッド呼び出しとメソッド定義の話を両方やる関係で、 実に様々な「引数」が出てくる。そこで紛らわしくならないように ここで厳密に用語を決めてしまうことにしよう。 m(a) # aは「通常の引数」 m(*list) # listは「配列引数」 m(&block) # blockは「ブロック引数」 def m(a) # aは「通常のパラメータ」 def m(a=nil) # aは「オプションパラメータ」、nilは「そのデフォルト値」 def m(*rest) # restは「restパラメータ」 def m(&block) # blockは「ブロックパラメータ」 ようするに渡すときは全部「引数」、受けるほうは全部「パラメータ」で 種類によってそれぞれ形容詞を付ける、ということだ。 ただし、ここで挙げたうち「ブロック引

  • 1