タグ

マクロに関するpoginのブックマーク (6)

  • 作って理解するBabelマクロ - uhyo/blog

    Babelは今どきのJavaScript開発には欠かせないパーツのひとつです。その主な使い道は、新しいJavaScriptの文法を古いJavaScriptに変換するトランスパイラとしてのものでしょう。しかし、Babelをより広範にマクロの機構として使おうという動きもあります。それを担うのがbabel-plugin-macrosというプラグインです。 ここで言うマクロとは、大ざっぱに言えばプログラムを生成するための機構であり、特にソースコード中に書かれるもののことです。例えばC言語などに見られる#defineは原始的なマクロであると言えます。最近の言語ではRustが強力なマクロの機構を持ち、Rustの文法を逸脱したトークン列をソースコード中に書くことができます。そのようなプログラムはマクロによってRustプログラムに変換されます。マクロを用いることで、通常の言語機能では不可能なメタプログラミ

    作って理解するBabelマクロ - uhyo/blog
  • '`'と',' - Qiita

    lisp advent calendar 四日目の記事らしいです。 他のカレンダー参加者のレベルが高すぎて困りました。 以下について、利用の方言はCommon Lispです。 処理系は多分cltl1以降に準拠なら大丈夫だと思います。 Common Lispの難読記号 普段lispを書いているとlispは使う記号の種類が他の言語よりも少なくルールも少なく、演算子の結合則とか、使わなければいけない括弧のバリエーションも少なくて、なんてとっつきの良い言語なのだろうかと思っています。 意味不明な'$'とかどう結合するのか良くわからない'.'とかセパレータとしてはスペースがあれば事足りるはずなのに一々書かなくてはならない','とかと縁なくて良かったなーなどと思って日々の生活はしているのですが、マクロを書く時の簡易の為の'`'と','が、マクロを書く時に考える事の特殊性とあいまって、他所からみて慣れな

    '`'と',' - Qiita
  • Excelシート上で指定領域をオートフィルするVBAマクロ - 主に言語とシステム開発に関して

    バッチ・マクロのTOPExcel VBAで,指定された領域をオートフィルするためのマクロ。 用途は前記事を参照。 サンプルコード Sub FillRecord() ' 前提: ' 3行1列目から横方向へカラム名が並んでいる ' 1行5列目に,作成したいデータ数が並んでいる ' 4〜5行目には差分のついたデータが入っている。いちばん左はID(開始IDは1でなくともよい) ' 1行6〜7列目に進捗状況を表示する ' 見積もり: ' 10カラム×100万レコードで2分くらい必要 ' AutoFillメソッドを使わずにFor文で書き込むと死ぬほど時間がかかる(数千倍以上) ' 終端行をget Dim columnNum As Long columnNum = Cells(1, 5).Value If Not columnNum > 3 Then MsgBox "1行5列目にデータ数を入力してく

    Excelシート上で指定領域をオートフィルするVBAマクロ - 主に言語とシステム開発に関して
  • あなたがLispを無視することができない理由 - 八発白中

    (この記事はLisp Advent Calendar 1日目のためのエントリです。) 禅が好んで用いる比喩がある。月を指すには指が必要である。だが、その指を月と思う者はわざわいなるかな。 — 鈴木大拙「禅」 これをLispに例えるなら、こう言うことができるかもしれない。 Lispを書くには括弧が必要である。だが、その括弧をLispと思う者はわざわいなるかな。 Lispを普段書いている身としてはLispについて括弧がどう、というのは些細なものに思えるが、Lispを知らない人からすると自然な考えだろう。人間は知らないものを理解しようとするとき、自分が今まで見たもの、知っているものと比較して手がかりを得ようとする。Lispが他のプログラム言語と比較してユニークなものは、やはりその括弧で表現されたS式だ。 しかし、Lispが括弧を使った奇妙な構文を用いるのは理由がある。そしてそれがLispの強力さ

  • Microsoft Office WordのショートカットキーをEmacs風にする - phithonのブログ

    WordだとIMEのCtrl+t(半角英数にする)がインデント機能に割り当てられてて、 無効化する方法無いのかと思ったら意外といろいろ変えられることに気づいたので、 Wordのキーバインドを一通りEmacs化してみた。 設定画面はMicrosoft Office Word 2003なら「ツール > ユーザー設定 > キーボード」、 Microsoft Office Word 2007なら「左上のロゴ > Wordのオプション > ユーザー設定 > ショートカットキー: ユーザー設定」から行ける。 「分類」で「すべてのコマンド」を選んで「コマンド」から割り当てたい機能を選び、 「割り当てるキーを押してください」で使いたいショートカットキーを入力。 最後に左下の「割り当て」で適用される。 自分の場合は以下のように設定した。 ショートカットキー コマンド 動作 Ctrl+B CharLeft カ

    Microsoft Office WordのショートカットキーをEmacs風にする - phithonのブログ
  • printfデバッグに便利なファイル行数表示マクロ - 風と宇宙とプログラム

    emacsとgccを普段使っているレガシープログラマの自分としては、デバッグはprintfが一番便利だと思っている。まれにemacsの中でgdbも使うが、必要以上に時間がかかるし、視野が狭くなり袋小路に陥りやすい。そもそも組込み系ではデバッグ環境が提供されていない場合もある。そんなときは、はやりprintfが手っ取り早くて確実だ。その際、printf出力にファイル名と行数を表示する自前のマクロを長年使ってきた。 printf(HERE "x=%d\n", x); のような感じだ。HEREがそのマクロでファイル名と行数の文字列として"test.cpp(68)"のように展開される。簡単で便利なので自分は非常に気に入って使っている。実際には、このHEREを使ってもっと簡潔なデバッグprint文マクロを使っているが、周囲をみるとほとんどの場合、 printf("%s(%d) x=%d\n", __

    printfデバッグに便利なファイル行数表示マクロ - 風と宇宙とプログラム
  • 1