パスワードを忘れた? アカウント作成
11543816 journal
日記

IR.0-4の日記: /.偽HTML表示テスト 2

日記 by IR.0-4
利用できるタグ
----------------------------------------
<del>::deldeldel
----------------------------------------
<strike>::strikestrikestrike
----------------------------------------
<ins>::insinsins
----------------------------------------
<sub>::subsubsub
----------------------------------------
<sup>::supsupsup
----------------------------------------
<em>:強勢。だいたいイタリック。:ememem
----------------------------------------
<i>:その他のイタリック:iii
2014年09月05日現在、IEでもFirefoxでも<br>タグと一緒に使うと引用のように表示される。
多分/.jpのCSSの問題。
他のタグ、divとかpとかで囲うか、<br>タグを使わない事で回避できる

<i>:その他のイタリック:iii

----------------------------------------
<strong>:重要性強調。太字。:strongstrongstrong
----------------------------------------
<b>:その他の強調。太字。:bbb
----------------------------------------
<a href="http://slashdot.jp">::aaa
----------------------------------------
<p>:段落:p

p

p
----------------------------------------
<br>改行:br
brbr
----------------------------------------
<ol>:カウント箇条書き範囲
<li>:箇条書き項目

<ol><li>項目A</li><li>項目B</li><li>項目C</li></ol>

  1. 項目A
  2. 項目B
  3. 項目C

----------------------------------------
<ul>:順序なし箇条書き範囲
<li>:箇条書き項目

<ul><li>項目D</li><li>項目E</li><li>項目F</li></ul>

  • 項目D
  • 項目E
  • 項目F

----------------------------------------
<dl>:辞書っぽい説明リスト範囲
<dt>:辞書っぽい説明項目題字
<dd>:辞書っぽい説明内容

<dl><dt>dt0</dt>
    <dt>dt1</dt>
        <dd>dd1</dd>
        <dd>dd2</dd>
    <dt>dt2</dt>
        <dd>dd3</dd>
    <dt>dt3</dt3>
        <dd>dd4</dd></dl>

dt0
dt1
dd1
dd2
dt2
dd3
dt3
dd4

----------------------------------------
<tt>:等幅:tttttt
----------------------------------------
<code>:等幅:codecodecode
----------------------------------------
<blockquote>:引用:blockquote

blockquote

blockquote
----------------------------------------
<ecode>:/.独自。</ecode>以外をそのまま表示する:ecode

ecode

ecode
----------------------------------------
<quote>:/.独自。レス引用:quote

quote

quote
----------------------------------------
引用系3つ比較
<blockquote>blockquote</blockquote><ecode>ecode</ecode><quote>quote</quote>

blockquote

ecode

quote

----------------------------------------
<div>::div

div

div
----------------------------------------

11102324 journal
ゲーム

IR.0-4の日記: SMWCP

日記 by IR.0-4

海外の改造マリオのSMWCP。
zsnes上でThe Counterfort (world 6)のボスゴールでフリーズして進めない。
しかたがないから、通常ゴールチートコードで進む。
ステージ中にいる状態で[ESC]→CHEAT→ADD CODE、[ENTER CODE]に[7E149311]を入力。
ADDを押す。その後、ゲームに戻る。ステージクリア。

終わったら、チートコードはoffにするなり、削除するなり。

Adventum Terminus(world 8)も同様。

10977055 journal
プログラミング

IR.0-4の日記: emacs lispのリスト中抜き関数 3

日記 by IR.0-4

'(1 2 3 4) -> '(1 3 4)
とか
'(a b c d) -> '(b c d)
と言った中抜きの実装
--------------------------------------------------------------------------------
(defmacro nakanuki (index list)
 
"リスト list の index の要素を破壊的に削除する。そのリストを返す。
最初の要素を指す index の値は 0。
index が 負数の場合はエラー。"

  `(progn
      (cond
      ( (< ,index 0)
        (error
"nakanuki の引数 index は、0以上でなければならない" )
        )
      ( (= ,index 0)
        (let ((len (length ,list)))
          (cond
            ( (= len 0) nil );;
return
            ( (= len 1) (setcar ,list nil)
                        (if (symbolp (quote ,list))
                            (progn
                              (setq ,list (cdr ,list) )
                              ,list );;
return
                          (cdr ,list) ) ) ;;
return
            ( t (setcar ,list (car (cdr ,list)))
                (setcdr ,list (nthcdr 2 ,list))
                ,list ) ) ) ) ;;
return
      ( t
        (setcdr (nthcdr (1- ,index) ,list) (nthcdr (1+ ,index) ,list) )
        ,list ) ) ) ) ;;
return
--------------------------------------------------------------------------------

Case 1 : '(1 2 3 4) -> '(1 3 4)するテスト。
コンス破壊なので、同じコンスを指す変数の内容も変更される。
--------------------------------------------------------------------------------
(nakanuki 1 '(1 2 3 4)) ;; => (1 3 4)

(let* ((subs '(1 2 3 4)) ;; subs にリストを束縛
              (refs subs)) ;; refs に subs のリストを束縛
    (nakanuki 1 subs) ;; => '(1 3 4) ;; subs[1] を 中抜く
    refs) ;; => '(1 3 4) ;; 破壊された b のリストは a と同じなので、中抜かれたリストが返る
--------------------------------------------------------------------------------

Case 2 : '(1 2 3 4) -> '(2 3 4)するテスト。
delq や delete と違って、先頭要素でもコンスを破壊する。
--------------------------------------------------------------------------------
(nakanuki 0 '(1 2 3 4)) ;; => (2 3 4)

(let* ((subs '(1 2 3 4)) ;; subs にリストを束縛
              (refs subs)) ;; refs に subs のリストを束縛
    (nakanuki 0 subs) ;; => '(2 3 4) ;; subs[0] を 中抜く
    refs) ;; => '(2 3 4) ;; 破壊された b のリストは a と同じなので、中抜かれたリストが返る
--------------------------------------------------------------------------------

Case 3 : '(1) -> '()するテスト。
これのみコンス破壊では行なえため、同じコンスを指していた変数の値は'(nil)になる。
コンスセルを変数が指しているという原理上、この実装も delq も delete も破壊ではこれを行わない。
--------------------------------------------------------------------------------
(nakanuki 0 '(1) ) ;; => nil

(let* ((subs '(1)) ;; subs にリストを束縛
              (refs subs)) ;; refs に subs のリストを束縛
    (nakanuki 0 subs) ;; => nil ;; subs[0] を 中抜く
    refs ;; => '(nil) ;; subs変数の変更なので refs の破壊は中途半
    subs) ;; => '() ;; 2014年05月18日 18時追記
--------------------------------------------------------------------------------
Case 3 : '(1) -> '()のrefsだけどうにかならないか

10361384 journal
プログラミング

IR.0-4の日記: コマンドライン上でのunicode escape sequenceのデコード

日記 by IR.0-4

Javascriptなんかで使う「unicode escape sequence」形式のデコード
nkfとsed

echo '\uFF53\uFF4C\uFF41\uFF53\uFF48\uFF44\uFF4F\uFF54\uFF0E\uFF4A\uFF50' | sed -e 's/\\u\(....\)/\&#x\1;/g' | nkf --numchar-input

sedで「Unicode数値文字参照」に変換したあと、nkfで変換

10102174 journal
日記

IR.0-4の日記: ibus-skk 1.3.9のCtrl-q

日記 by IR.0-4

先に結論、どうやら変換モードのキー設定はできないらしい。
Ctrl-qが変えられない。

とても愉快なことに、
ibus-skk 1.3.9 の「半角カナモード」が「Ctrl-q」に割り当てられており、しかも「カナモード」時じゃないとibusにキャッチされずプログラムへキーが送られてしまう。
Firefoxなんか使っていた時には、不意に全タブ、全ウィンドウが閉じてしまう。

IBusバーの「SKKの設定」にはキー設定の項目なんてない。
"~/.config/ibus-skk.json"が設定ファイルらしいが、そもそも情報がない。

しかたがないからソース読む。
Download Packagesからibus-skk-1.3.9.tar.gz

"engine/skk.py"の"INPUT_MODE_TRANSITION_RULE"に変換遷移表とキー表現の初期値が決め打ちされているが、設定値を読み込むような節がない。

じゃあ書き換えようとも思ったけれど、Ubuntu 12.04だからibus-skk 1.3.9を使っているだけ。
ならibus-skk 1.4.1にしてから書き換えようかと思ったけれど、仕様もコードも随分変わっている様子。
ここから先はまた今度。

10008006 journal
Windows

IR.0-4の日記: WSH/Execメソッド/TextStreamオブジェクトが詰まる

日記 by IR.0-4

例でよくある以下のコードは、実は期待通りに動かずforループから抜け出せない。

var WshShell = WScript.CreateObject("WScript.Shell");
WScript.Echo("START");
        var wExec = WshShell.Exec('cmd /c "dir %windir%"');
        for( ; wExec.Status == 0 ; ){WScript.Sleep(1);}
WScript.Echo("END");

var exit_code = wExec.ExitCode;
var stdout = wExec.StdOut.ReadAll();
var stderr = wExec.StdErr.ReadAll();
WScript.Echo(stdout);

どうやらTextStream:StdOut又StdErrの内部バッファがいっぱいになると、
次を読み込まなくなるかららしい。
(だから%windir%じゃなくてもdirじゃなくてもそれなりのストリーム量で、
標準出力/標準エラー出力を使うプログラムでこれが発生する)

だから以下の解決策

var stdout="";
var stderr="";
var read_size = 1024;
WScript.Echo("START");
        var wExec = WshShell.Exec('cmd /c "dir %windir%"');
        for( ; wExec.Status == 0 ; ){
        stdout += wExec.StdOut.Read(read_size);
        stderr += wExec.StdErr.Read(read_size);
        WScript.Sleep(1);}
WScript.Echo("END");
for( ; ! wExec.StdOut.AtEndOfStream ; ){
        stdout += wExec.StdOut.Read(read_size);
}
for( ; ! wExec.StdErr.AtEndOfStream ; ){
        stderr += wExec.StdErr.Read(read_size);
}
WScript.Echo( stdout );
WScript.Quit(0);

終了待ちループ中に読み出せばいい。
read_sizeは任意。

(ただ実際に内部バッファが原因かは調べていない)
(バッファサイズを得る方法がないのか、分からない)

9147667 journal
日記

IR.0-4の日記: Visual Studio Express 2012 C++のプロジェクト初期エラー

日記 by IR.0-4

何も書き込んでないプロジェクトなのに、
エラー 1 error C1073: インクリメンタル コンパイルを伴う内部エラーが発生しました(コンパイラ ファイル 'f:\dd\vctools\compiler\cxxfe\sl\p1\c\p0io.c', 行番号 865) ***\stdafx.h 1 1 **
と出る
その対策


・対象のプロジェクトを選択
メニュー[プロパティ]
ツリー[構成プロパティ]
ツリー[C/C++]
ツリー[全般]
右側の[デバック情報の形式]
を "C7 互換 (/Z7)"へ変更

構成Debug,Release共に初期設定ではこれが出る模様

494801 journal

IR.0-4の日記: 右から積んで行く

日記 by IR.0-4
#include<iostream>
static int i=0;
int ipp(void){return(i++);}
int main(void){std::cout<<"result:" << ipp() << "," << ipp() << "," << ipp() << std::endl;}
――――――――――
result: 2:1:0

とほなるのが何かと思い調べたらcdeclの規約だそうで。どうにもならぬのか。
typodupeerror

※ただしPHPを除く -- あるAdmin

読み込み中...