「void」を含む日記 RSS

はてなキーワード: voidとは

2017-07-27

ZENOS - SOCIAL OPERATION SYSTEM

Everything is void, everything is true.

So you have to stand on a certain stance.

ZENOSとは新しい社会構造体を創り、

運営するために必要フレームワークかつ哲学である

ZENOS is a framework and philosophy for creating and managing a new social structure.

人間社会構造自然言語を用いた、

プログラミング言語によって実装されたシステムとして捉え、

社会制度、行動規範コードし、人間オペレーションするフレームワーク提供する。

また、この基本原則は河﨑純真現代的に即した新しい価値共同体を作るために聖書エホバの証人東洋思想、禅、神道科学哲学資本主義またはValve新入社員マニュアル山口平氏の著書を元に定義したものである

価値共同体とは、同じ価値観を持った人々で形成される集団のことである

https://github.com/ozcn/zenos

http://www.thezenos.com/

2017-06-06

ジェネリック医薬品.java

interface 頭痛薬 {}

class バファリン implements 頭痛薬 {}

class バッサニン implements 頭痛薬 {}

class 薬瓶<T> { /* 中略 */ }

public class Test {

  public static void main(String[] args) {

    薬瓶 頭痛薬入れ = new 薬瓶<頭痛薬>();

    頭痛薬入れ.add(new バファリン());

    頭痛薬入れ.add(new バッサニン()); // バファリンとバッサニンは成分が同じなので、同じ薬瓶に入れて混ぜて服用しても問題ない

    System.out.println(頭痛薬入れ.size()); // 2

  }

}

2017-06-02

http://anond.hatelabo.jp/20170602170355

Javaは、オブジェクト指向を盲信し、すべてにおいてオブジェクト指向強制したのが間違いだった。

Java で、hello worldプログラムすると

public class Hajimete {

public static void main(String[] args){

System.out.println("Hello, world.");

}

}

こんなに長く書く必要があるのが一番嫌われた理由

他の言語なら

print("Hello, world.");

ぐらいの1行で済むんだ。

2017-05-02

三木谷浩史さんのコードひどいのでなおしてみた

http://techwave.jp/archives/a-source-code-written-by-mr-mikitani.html

書き直してみた

void reverse(char* text, int length)

{

int i = 0;

int j = length;

while (i<j) {</p>

char temp;

temp = text[i];

text[i] = text[j];

text[j] = temp;

i++;

j--;

}

}

int add_comma(int n, int length, char *out)

{

int i = 1;

int j = 0;

int mod = n % 10;

n = n / 10;

while (n > 0) {

if ((i % 3) == 0) {

out[j] = ',';

j++;

}

out[j] = mod + '0';

i++;

j++;

mod = n % 10;

n = n / 10;

}

if (j > length) {

return -1;

}

out[j] = mod + '0';

reverse(out, j);

return j;

}

2017-04-30

Voidさん、mohtaさん、あさたくさん、

知り合いの葬儀に出て感傷的になったせいか大昔のことが一瞬脳裏をよぎった。

あさたくさんはすでに亡くなられたとのことで、時代の流れは早いものですね。合掌

2017-01-14

増田トラバブックマークレットを作った

はじめに

何番煎じだよって感じだけど、既存ブックマークレットクエリパラメータとかも含めてURLを取得したり、

選択範囲を本文に反映したりとか、俺にとってはいらない機能が色々あったので、

俺用に最適化したブックマークレットを作った。あと、はてな記法使ったことなかったのでそのテストも兼ねて。

ブックマークレットの導入方法はググれ。

前提

コード

javascript:usrID='KokoniIDwoIreru';function enc(s){ return encodeURIComponent?encodeURIComponent(s):encodeURI(s); }void(window.open('http://anond.hatelabo.jp/'+usrID+'/edit?title='+enc(location.href.replace(/\#.*$/, '').replace(/\?.*$/, '')),'_blank',''));

使い方

仕様

おまけ

俺が作ったものではないが、便利なブックマークレットを見つけたので一緒に載せる。

増田トラバリーは、デフォルトではすべて格納されており、

▼を押すことで内容が展開されるが、それを全て展開してくれる。

javascript:(function(){d=document;t=d.getElementsByTagName('ul')[1];a=t.getElementsByTagName('a');for(i=0;i<a.length;i++){if('#'==a[i].getAttributeNode('href').value)a[i].onclick();}})();

2016-10-17

vimをtinyでmakeするとエラーが大量に出るんだが

インストール出来てるし起動もできてるから無視していいのかな

clang: warning: argument unused during compilation: '-I .'

clang: warning: argument unused during compilation: '-I proto'

clang: warning: argument unused during compilation: '-U _FORTIFY_SOURCE'

screen.c:1513:17: warning: self-comparison always evaluates to true [-Wtautological-compare]

if (curwin == curwin)

^

screen.c:5676:19: warning: self-comparison always evaluates to true [-Wtautological-compare]

&& Columns == Columns)

regexp.c:3790:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:3790:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:3790:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:4052:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:4052:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:4052:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:5276:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:5276:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:5276:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:5337:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_startpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_startp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:5337:24: note: remove extraneous parentheses around the comparison to silence this warning

{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_startpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_startp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };

~ ^ ~

regexp.c:5337:24: note: use '=' to turn this equality comparison into an assignment

{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_startpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_startp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };

^~

=

regexp.c:5355:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_endpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_endp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:5355:24: note: remove extraneous parentheses around the comparison to silence this warning

{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_endpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_endp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };

~ ^ ~

regexp.c:5355:24: note: use '=' to turn this equality comparison into an assignment

{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_endpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_endp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };

^~

=

regexp.c:5516:22: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:5516:22: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:5516:22: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:6213:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:6213:21: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:6213:21: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:6266:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:6266:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:6266:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:6294:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:6294:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:6294:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:6325:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:6325:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:6325:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:6341:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:6341:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:6341:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:6363:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:6363:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:6363:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:7711:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:7711:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:7711:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

regexp.c:7740:23: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

regexp.c:7740:23: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

regexp.c:7740:23: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

In file included from regexp.c:8043:

./regexp_nfa.c:3995:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:3995:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:3995:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4014:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4014:21: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4014:21: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4036:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4036:21: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4036:21: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4055:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4055:21: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4055:21: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4086:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4086:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4086:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4227:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4227:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4227:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4609:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4609:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4609:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4670:22: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4670:22: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4670:22: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4733:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4733:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4733:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4767:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4767:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4767:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:4954:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:4954:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:4954:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5106:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5106:21: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5106:21: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5120:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5120:21: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5120:21: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5144:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5144:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5144:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5231:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5231:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5231:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5486:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5486:25: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5486:25: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5608:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5608:21: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5608:21: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5897:23: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5897:23: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5897:23: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:5987:26: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:5987:26: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:5987:26: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:6873:26: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:6873:26: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:6873:26: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:6997:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:6997:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:6997:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

./regexp_nfa.c:7095:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]

if ((rex.reg_match == ((void*)0)))

~~~~~~~~~~~~~~^~~~~~~~~~~~~

./regexp_nfa.c:7095:24: note: remove extraneous parentheses around the comparison to silence this warning

if ((rex.reg_match == ((void*)0)))

~ ^ ~

./regexp_nfa.c:7095:24: note: use '=' to turn this equality comparison into an assignment

if ((rex.reg_match == ((void*)0)))

^~

=

2016-09-20

http://anond.hatelabo.jp/20160919121645

内容によりけりだけれど、よくやるリファクタリングの例を紹介しておきます

// したいことは英語でいい名前をつける
void したいこと(){
  // したいこと
}

if( param==0 && 判定(param2) ){
  したいこと();
}else if( !param3 ){
  したいこと();
}

ただし、こういう複雑で奇妙な条件分岐がここに入ってくる時点で設計面の問題があるのではないかと感じます

paramが0の時には何か例外的動作なのではないかとか、「したいこと」の中でさらに何度もparamたちを判定して汚いコードになっているのではないか、などです。

他にも指摘している人がいますが、リーダブルコードを読むのがいいと思います

2016-09-19

http://anond.hatelabo.jp/20160919121645

最近の若者ワンライナーなのか、3項演算子使わないと馬鹿にされるのか知らないけれど、

賢そうな構文は使わなくていい。

boolean check(int param, int param2, int param3)
{
    if ( param == 0 && 判定(param2) )
    {
        return true;
    }
    else if ( param3 == false )
    {
        return true;
    }
    else
    {
        returnn false;
    }
}


void main()
{
    if ( check(param, param2, param3) )
    {
        //したいこと
    }
}

2016-09-03

都会歩行プログラム @author 増田

/**
 * 都会歩行プログラム
 * @author 増田
 * @version 1.0
 */

public class WalkingTimerTask extends TimerTask {
    public void run() {
        if (片側寄り通行の表示がある) {
            // 駅構内通路階段などを想定
            表示に従って片側に寄って直進する。
        } else if (曲がり角進入までの距離 > 0 && 曲がり角進入までの距離 < 5メートル) {
            // 出会い頭の衝突時の衝撃緩和
            歩行速度を下げる。
        } else if (曲がり角進入までの距離 == 2メートル) {
            // 出会い頭の衝突防止
            曲がり角から離れる方向に1歩移動する。
        } else if (曲がり角曲がり中) {
            // 他レーンとの衝突防止
            円弧を描くように歩行する。
        } else if (曲がり角の曲がり終わり) {
            歩行速度を通常に戻す。
        } else {
            // TODO: 通常歩行時の減速および加速を段階的に行う処理を組み込む。
            左側を歩行する。
        }
    }
}

2016-08-30

例外の正しい使い方ってなんだよ。。。

↓こういう実装って駄目なの?

void sample(String str){

try{

str = str.replace("test","");

}catch(Nullpointerexception e){

str ="abc";

}

}

2016-07-30

http://anond.hatelabo.jp/20160730155428

悪い、昼間っからビール飲みだしたから、もうよくわからん

それをそのままってのが意味がよくわからんけど、

newしてから渡せば良いと思うよ。

いちいちクラスに分ける理由は、こういう感じで、クラス内の変数アクセスすれば、画面事の表示とかが簡単に出来る的な?

EventHogeクラスクリックした時のイベント定義するクラス

      // Javaの書き方しらん、インターフェース実装することを定義したい

      public class EventHoge : View.OnClickListener {

        

        //画面事の名称

        public string ViewName = "";

        // Javaの書き方しらん、インターフェースメソッド実装することを定義したい

        public void View.OnClickListener.onClick(View v) {

            // 元増田サンプルそのまま ーー>

            AlertDialog.Builder dlg;

            dlg = new AlertDialog.Builder(MainActivity.this);

            dlg.setTitle("画面の名前:" + ViewName); // 画面名称が表示されるイメージ

            dlg.setMessage("Hello, サンプル!");

            dlg.show();

            //<ーー

       }

     }

MainHogeクラス(画面の初期化を行い、どのボタンにどのイベントを仕込むかを決めるクラス

    // Androidなにも知らんけど、元増田ボタンイベントを書く処理が書いてあるクラスのことが言いたい

    public class MainHoge {

        // そのメソッド

        public void Main() {

            //ボタン実装サンプル

            final Button button = new Button(this);

            button.setText("ダイアログの表示");

            View.OnClickListener ocl = new EventHoge();

            ocl.ViewName = "画面その一";

            button.setOnClickListener(ocl);

        }

    }


こんな感じにすれば、画面が二つあって、

その画面の名称を表示するようなボタンを、二つメソッドコピペして作らなくていい的な?

もうぶっちゃけ元増田が何を悩んでるのか、ようわからんわ。

サンプルは、出来るだけとっちらかさないよう、匿名クラスとか使って、サンプルで紹介したいところ「だけ」を書くんだよね。

から、そのサンプルがどういう意味かをちゃんと読み取って、自分ならこう書くとか、こう書けるか? とかを考えてこそ勉強だと思うよ?

今回のレイだと「View.OnClickListener」っていうインターフェイス実装したクラスを、setOnClickListenerすればいいってことさえわかれば、

匿名クラス?(っていうのかな? ちょっと用語はよくしらん、クラス定義を使い回さず、その場だけのクラス定義を書く書き方)とかを使わずに、

どういうふうに応用ができるか? とか頑張れ!

頑張れ!

頑張れ!

はああああああ。

おれはビールを飲む!

http://anond.hatelabo.jp/20160730130830

おい!できたぞ!!みてくれ。この綺麗なコードを。

俺はお前にほめて貰いたくて生まれてきたんだ、お前に評価されたくてこの美しいコードを書いたんだ!!感想よこせ!!

class MainClass {

    メイン(){

    final Button button = new Button(this);

    button.setText("ダイアログの表示");

    button.setOnClickListener(new EventClass(this));

    layout.addView(button);

    }

}

class EventClass implements View.OnClickListener {

  private Context context =null;

  EventClass(Context context){

    this.context=context;

  }

  @Override

  public void onClick(View view) {

    AlertDialog.Builder dlg;

    dlg = new AlertDialog.Builder(this.context);

    dlg.setTitle("簡単サンプル");

    dlg.setMessage("Hello, AlertDialog!");

    dlg.show();

  }

}

http://anond.hatelabo.jp/20160730125112

うーん?

いや、なんか、通じてないな。

もうちょいサンプル詳しく書くからサンプルのどこがわからいか言ってくれ。

EventHogeクラスクリックした時のイベント定義するクラス

      // Javaの書き方しらん、インターフェース実装することを定義したい

      public class EventHoge : View.OnClickListener {

        // Javaの書き方しらん、インターフェースメソッド実装することを定義したい

        public void View.OnClickListener.onClick(View v) {

            // 元増田サンプルそのまま ーー>

            AlertDialog.Builder dlg;

            dlg = new AlertDialog.Builder(MainActivity.this);

            dlg.setTitle("サンプル");

            dlg.setMessage("Hello, サンプル!");

            dlg.show();

            //<ーー

       }

     }

MainHogeクラス(画面の初期化を行い、どのボタンにどのイベントを仕込むかを決めるクラス

    // Androidなにも知らんけど、元増田ボタンイベントを書く処理が書いてあるクラスのことが言いたい

    public class MainHoge {

        // そのメソッド

        public void Main() {

            //ボタン実装サンプル

            final Button button = new Button(this);

            button.setText("ダイアログの表示");

            button.setOnClickListener(new EventHoge());

        }

    }


こうやって、クラス分けて書けば、外とか中とか、全く関係なくなるじゃん。

元増田サンプルだと、メインの中でインターフェース実装したクラス実装を書いてるから、中とか外とかがあるんじゃないのか?

自分クラスとして定義して、そっちで実装すれば、メインは紐づけるだけでよくなって、仮引数?の中で実装しなくてもすむじゃん。

http://anond.hatelabo.jp/20160730120533

こうしろってこと?

    View.OnClickListener onclick = new View.OnClickListener() {

      public void onClick(View v) {

        AlertDialog.Builder dlg;

        dlg = new AlertDialog.Builder(MainActivity.this);

        dlg.setTitle("簡単サンプル");

        dlg.setMessage("Hello, サンプル!");

        dlg.show();

      }

    };

    button.setOnClickListener(onclick);

確かにこっちのがわかりやすいかも?

http://anond.hatelabo.jp/20160730090832

よくわからん

中が嫌なら外でかきゃいいじゃん。

javaAndroidもしらんから適当だけど。

      // Javaの書き方しらん、インターフェース実装することを定義したい

      public class Hoge : View.OnClickListener {

        // Javaの書き方しらん、インターフェースメソッド実装することを定義したい

        public void View.OnClickListener.onClick(View v) {

            // 元増田サンプルそのまま ーー>

            AlertDialog.Builder dlg;

            dlg = new AlertDialog.Builder(MainActivity.this);

            dlg.setTitle("サンプル");

            dlg.setMessage("Hello, サンプル!");

            dlg.show();

            //<ーー

       }

     }

// メインスレッド的なところ

//ボタン実装サンプル

final Button button = new Button(this);

    button.setText("ダイアログの表示");

    button.setOnClickListener(new Hoge());

こう書けば、中で書かなくて良い気がするけど、駄目なの?

なんか、インターフェースから引数の中ってのが意味わからん

どう関係してるの?

android開発し始めたけど、Javaとかオブジェクト指向って難しくないか

//ボタン実装サンプル

final Button button = new Button(this);

    button.setText("ダイアログの表示");

    button.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

        AlertDialog.Builder dlg;

        dlg = new AlertDialog.Builder(MainActivity.this);

        dlg.setTitle("サンプル");

        dlg.setMessage("Hello, サンプル!");

        dlg.show();

      }

    });

↑なんで引数の中で実装しなきゃいけないの?引数interface指定されてるからなんだけど、

はっきり言って、こんな難しいこと専業で開発やってる人は普通なの?

2016-07-13

xc8

// コンフィギュレーション1の設定

#pragma config FOSC = INTOSC // 内部クロック使用する(INTOSC)

#pragma config WDTE = OFF // ウオッチドッグタイマー無し(OFF)

#pragma config PWRTE = ON // 電源ONから64ms後にプログラムを開始する(ON)

#pragma config MCLRE = OFF // 外部リセット信号使用せずにデジタル入力(RA3)ピンとする(OFF)

#pragma config CP = OFF // プログラムメモリーを保護しない(OFF)

#pragma config CPD = OFF // データメモリーを保護しない(OFF)

#pragma config BOREN = ON // 電源電圧降下常時監視機能ON(ON)

#pragma config CLKOUTEN = OFF // CLKOUTピンをRA4ピンで使用する(OFF)

#pragma config IESO = OFF // 外部・内部クロックの切替えでの起動はなし(OFF)

#pragma config FCMEN = OFF // 外部クロック監視しない(OFF)

// コンフィギュレーション2の設定

#pragma config WRT = OFF // Flashメモリーを保護しない(OFF)

#pragma config PLLEN = OFF // 動作クロックを32MHzでは動作させない(OFF)

#pragma config STVREN = ON // スタックオーバフローやアンダーフローしたらリセットをする(ON)

#pragma config BORV = HI // 電源電圧降下常時監視電圧(2.5V)設定(HI)

#pragma config LVP = OFF // 低電圧プログラミング機能使用しない(OFF)

// メインの処理

void main()

{

char s[8] ;

unsigned int cap ;

OSCCON = 0b01110010 ; // 内部クロックは8MHzとする

ANSELA = 0b00000100 ; // アナログはAN2を使用し、残りをすべてデジタルI/Oに割当

TRISA = 0b00000100 ; // AN2(RA2/CPS2)だけ入力その他のピンは出力に割当てる(RA3は入力専用)

PORTA = 0b00000000 ; // 出力ピンの初期化(全てLOWにする)

// 容量検知モジュール(CPSM)の設定

CPSCON0 = 0b00001000 ; // オシレータは中範囲(中速の発信周波数)で利用する

CPSCON1 = 0b00000010 ; // CPS2から入力する

// タイマー1の設定

T1CON = 0b11000001 ; // 容量検知オシレータでTIMER1をカウントする、プリスケーラカウント値 1:1

TMR1H = 0 ; // タイマー1の初期化

TMR1L = 0 ;

PEIE = 1 ; // 周辺装置割り込み許可する

GIE = 1 ; // 全割り込み処理を許可する

CPSON = 1 ; // 容量検知モジュール開始

MonitorInit() ; // LCDモニター送信出来る様に初期化する

while(1) {

// 容量検知モジュールの値を読み込む

CPSON = 0 ; // 容量検知モジュール停止

cap = (TMR1H*256) + TMR1L ; // カウント値を読み込む

TMR1H = 0 ; // タイマー1の初期化

TMR1L = 0 ;

CPSON = 1 ; // 容量検知モジュール開始

// 読んだ値をLCDモニターに表示する

utoa(s,cap,10) ; // カウント値を文字列に変換する

MonitorPutc(0x11) ; // モニターの表示位置を設定する

MonitorPuts(" ") ; // 表示を消す

MonitorPutc(0x11) ; // モニターの表示位置を設定する

MonitorPuts(s) ; // 表示する

// 400ms後に繰り返す

__delay_ms(400) ;

}

2016-07-08

http://anond.hatelabo.jp/20160707235347

お疲れさまです。

設計書の指摘事項および質問事項です。

まず全体的に、インデントおかしいのと「}」が不足しています

プログラム仕様書はいえ「}」や「;」は書く必要がないため、もう少し日本語として通じる文章にしてください。

人間 俺の友達

使われていない変数ですが、問題ありませんか?

下記の

関係 彼女と俺の友達

初期化必要なのでしょうか?

俺 = 彼女いない歴 = 年齢;

俺は、人間型の変数なので、真理値を代入できないのでは?

真理値を人間型にキャストする共通関数があるのでしょうか?

もし(彼女フリー; 彼女彼氏出来るまで; 俺頑張る++){

「もし」ではなく、繰り返しを意味する「諦めない」でしょうか?

また「彼女フリー;」setupメソッドで「なんかモテそう」を代入していますが、フリーで上書きして問題ありませんか? その場合「なんかモテそう」の代入処理は必要なのでしょうか?

変数彼女フォーカス不明のため、このクラス内だけでは考慮できません。

次に「俺頑張る++」は、人間型の変数俺の頑張るプロパティインクリメントするという意味でしょうか?

もしもだ(彼女と俺の友達恋人){

上記のループが回っているときに、このメソッドではない別のメソッドで、変数彼女と俺の友達の値が変更されるため、上記のループの中に条件式があるのでしょうか?

もし、そのためであれば、非同期処理を本当に使う必要があるのか、もう一度設計見直してください。

そのためでないのなら、ループが始まるまえに、条件式を記載してください。


return 今夜も童貞;

voidなので、値を返すことはできません。

updateメソッドの型を指定するべきだと思われます

また、条件式の結果によっては、値を返さないケースがあります

その場合は初期値を返すのか、エラーを投げるのか明記してください。

以上、指摘事項を受けて、修正箇所があれば修正を行い、レビュー結果ドキュメント修正箇所を明記してください。

また、質問箇所については、レビュー結果ドキュメントに回答もセットで記載してください。

文章でわかりにくいところがありましたら、遠慮なく私のところまで聞きにきてください。

明日は午前中は自席にいます、午後から電話会議が散発的にあるため定時後でしたら対応可能です。

確認よろしくお願いします。

2016-07-07

人間 俺;

人間 彼女

人間 俺の友達

関係 彼女と俺の友達

void setup(){

 俺 = 彼女いない歴 = 年齢;

 彼女 = なんかモテそう;

}

void update(){

 もし(彼女フリー; 彼女彼氏出来るまで; 俺頑張る++){

もしもだ(彼女と俺の友達恋人){

 俺 = 諦める;

 return 今夜も童貞;

}

}

2016-06-28

詭弁の特徴のガイドラインに追加して欲しい項目。「的外れ比較や例

http://d.hatena.ne.jp/keyword/%EB%CC%CA%DB%A4%CE%A5%AC%A5%A4%A5%C9%A5%E9%A5%A4%A5%F3

------------------------------------------------------------------------------------------------

詭弁の特徴15条

例:「犬ははたして哺乳類か」という議論をしている場合

あなたが「犬は哺乳類としての条件を満たしている」と言ったのに対して否定論者が…

1.事実に対して仮定を持ち出す

「犬は子供を産むが、もし卵を生む犬がいたらどうだろうか?」

2.ごくまれな反例をとりあげる

「だが、尻尾が2本ある犬が生まれることもある」

3.自分に有利な将来像を予想する

「何年か後、犬に羽が生えないという保証は誰にもできない」

4.主観で決め付ける

「犬自身哺乳類であることを望むわけがない」

5.資料を示さず持論が支持されていると思わせる

世界では、犬は哺乳類ではないという見方一般的だ」

6.一見関係がありそうで関係のない話を始める

「ところで、カモノハシは卵を産むのを知っているか?」

7.陰謀であると力説する

「それは、犬を哺乳類と認めると都合の良いアメリカが画策した陰謀だ」

8.知能障害を起こす

「何、犬ごときにマジになってやんの、バーカバーカ」

9.自分見解を述べずに人格批判をする

「犬が哺乳類なんて言う奴は、社会に出てない証拠現実をみてみろよ」

10.ありえない解決策を図る

「犬が卵を産めるようになれば良いって事でしょ」

11.レッテル貼りをする

「犬が哺乳類だなんて過去概念にしがみつく右翼イタイね」

12.決着した話を経緯を無視して蒸し返す

「ところで、犬がどうやったら哺乳類の条件をみたすんだ?」

13.勝利宣言をする

「犬が哺乳類だという論はすでに何年も前に論破されてる事なのだが」

14.細かい部分のミスを指摘し相手無知認識させる

「犬って言っても大型犬から小型犬までいる。もっと勉強しろよ」

15.新しい概念が全て正しいのだとミスリードする

「犬が哺乳類ではないと認めない限り生物学進歩はない」

参考:18条パターンの追加項目

16.全てか無かで途中を認めないか、あえて無視する。

「全ての犬が哺乳類としての条件を満たしているか検査するのは不可能だ(だから哺乳類ではない)」

17.勝手に極論化して、結論正当性に疑問を呈する。

「確かに犬は哺乳類と言えるかもしれない、しかしだからといって、哺乳類としての条件を全て持っているというのは早計に過ぎないか。」

18.自分で話をずらしておいて、「話をずらすな」と相手を批難する。

現在問題なのは犬の広義の非哺乳類性であり、哺乳類であるかどうかは問題ではない。話をそらすな」

これに付記するものとしてKusakabe(void)論法がある。

追加項目

19.権威主義におちいって話を聞かなくなる。

生物学権威じゃないおまえには犬について議論する資格が無い。生物学者に意見を聞きたい」

------------------------------------------------------------------------------------------------

他に的外れ比較や例えを詭弁として追加して欲しいです。

20.的外れ比較や例えをする

例1「犬が哺乳類だと言うのは、恐竜哺乳類だと言うようなものだ。」

例2「では恐竜哺乳類扱いされているだろうか?されていないだろう。犬の件もそれと同じ事である。」

実際にこういう的外れ比較や例えは見かけます

また、昔2ちゃんねるで見かけたスレでも、比較対象を誤っている論者がいるなどと注意喚起されていました。

ありえない解決策を図るについては、「犬が卵を産めるようになれば良いって事でしょ」は大げさにしても、

「では、他の生き物が哺乳類に含まれるかどうかあなたが全確認してはどう?」というような論は見かけます

2016-05-25

http://anond.hatelabo.jp/20160525194007

void GetLoadDataByResetLoad(...)

{

    // ロード処理が取り消されたのでさっきまでロードされていたデータを再度読み直す

}

2016-04-22

Vim 7.4.1775 のコンパイルしてたらこんなん表示されたけど誰か直して〜

make installしてVim起動できたから直らなくても支障ないけど〜

term.c: In function ‘termtrue_mch_get_color’:
term.c:1387:6: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result]
      (void)fgets(line, LINE_LEN, fd);
      ^

2016-04-01

月刊Vim 3月号 - ゼロ除算編

:echo 1 / 0
:echo 0 / 0
2147483647
-2147483648

きっしょwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

他の言語もチェックしてみるか

golang

package main

import "fmt"

func main() {
	fmt.Println(1 / 0)
	fmt.Println(0 / 0)
}

division by zero

php

echo 1 / 0;
echo 0 / 0;

PHP Warning: Division by zero

python 2

print 1 / 0
print 0 / 0

ZeroDivisionError: integer division or modulo by zero

python 3

print(1 / 0)
print(0 / 0)

ZeroDivisionError: division by zero

nodejs

nodejsだと1/0と0/0で異なるメッセージが表示された。

console.log(1 / 0);

Infinity

console.log(0 / 0);

NaN

luajit

luajitだとnodejsで表示されたメッセージの短縮形で表示された

print(1 / 0)

inf

print(0 / 0)

nan

haskell

修正しました thx @anekos

main = do
    print(1 / 0)

Infinity

main = do
    print(0 / 0)

NaN

java

public class Test {
    public static void main(String[] args) {
        System.out.println(1 / 0);
    }
}
public class Test {
    public static void main(String[] args) {
        System.out.println(0 / 0);
    }
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at Test.main(Test.java:3)

bash

#!/bin/bash

echo $((1 / 0))
echo $((0 / 0))
test.bash: 行 4: 1 / 0: 0 による除算です (エラーのあるトークンは "0")
test.bash: 行 5: 0 / 0: 0 による除算です (エラーのあるトークンは "0")



haskellnodejsとluajitはエラーにならないけどまあいい。

Vimはやべえよ。


結論言語わずゼロ除算はするな









しまった、4月だった。

2016-03-08

はてブ2階を表示するブックマークレット

最近2階が覗きたくなることが増えたので書いた。2階があればブクマ数の周りに2階のリンクを追加する。

javascript:void[].map.call(document.querySelectorAll("a.entry-info,.entry>a.entry-link,.users a"),function(e,n){n=new XMLHttpRequest,n.open("GET","/entry/jsonlite/"+e.href),n.responseType="json",n.onload=function(t,o){(t=n.response)&&e.insertAdjacentHTML("beforebegin",((o=t.count)+" upper"+(o>1?"s":"")).link(t.entry_url))},n.send()});

http://b.hatena.ne.jp/以下のページで使えるはず。

minify前
void [].map.call(document.querySelectorAll('a.entry-info,.entry>a.entry-link,.users a'),function(u,x){
  x=new XMLHttpRequest();
  x.open('GET','/entry/jsonlite/'+u.href);
  x.responseType='json';
  x.onload=function(j,c){
    if(!(j=x.response))return;
    u.insertAdjacentHTML('beforebegin',((c=j.count)+' upper'+(c>1?'s':'')).link(j.entry_url))
  };
  x.send();
});
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん