yuu_nkjm blog


2010-10-10(Sun) [長年日記] 編集

[command][SVN] 作業コピーの情報を取得する

"svn info"とすれば,作業コピーに関する情報を取得できる.svnのコマンドについてザッとさらうなら,SVNコマンドメモ(Hishidama's Subversion command Memo)を見ると良さそう.

普段はtortoisesvnを使っているけど,バッチ処理をするためだったり,何かとコマンドライン版も必要.Subversion Binary Packagesに色々なsvnのバイナリパッケージが紹介されている. Subversion for Windows | Download Subversion for Windows software for free at SourceForge.netからダウンロードしたsvn.exeを使っている.

[E:/workspace/] svn info matsim
Path: matsim
URL: https://matsim.svn.sourceforge.net/svnroot/matsim/matsim/trunk
Repository Root: https://matsim.svn.sourceforge.net/svnroot/matsim
Repository UUID: c88ec2e0-6d1a-0410-bfb1-b076d2d10ec3
Revision: 11430
Node Kind: directory
Schedule: normal
Last Changed Author: ****
Last Changed Rev: 11430
Last Changed Date: 2010-05-07 03:29:33 +0900 (金, 07 5 2010)

2010-10-01(Fri) [長年日記] 編集

2007年くらいから個人としてはopenSUSEを使っているのだが,某所にはFedoraの6と7が多少生き残っている.管理ログを気合いを入れて記事にまとめ直す気はないが,メモを残しておく.

[Fedora 6-7] ネットワークインタフェースの設定ファイル

ネットワークインタフェース(ネットワークカード)の設定は,/etc/sysconfig/network-scripts/ifcfg-eth0に書かれている.

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.2
GATEWAY=192.168.0.1
ONBOOT=yes
NETMASK=255.255.255.0

2010-09-06(Mon) [長年日記] 編集

[R言語] Rでアサーション

Javaでプログラミングをする時にassertをよく使う.しかし,R言語にはassert構文や関数がなさそうだった.単体テスト用スクリプト@つれづれ:R言語Tipsで自前のassert関数が公開されているのを見かけたので,ちょっと改造してみた.

assert <- function( condition, msg="") {
  if ( is.na( condition ) ) {
    cat("-------------------------------------\n")
    cat( "assert fail, condition is na\n\t")
    cat("msg: \t")
    cat(msg)
    cat("\n")
    traceback()
    cat("-------------------------------------\n")    
    return(FALSE)
  }
  if ( condition == FALSE ) {
    cat("-------------------------------------\n")
    cat("assert fail:\n\t", sep="")
    print(substitute(condition))
    cat("\t\t is expected TRUE but it is FALSE\n", sep="" )
    cat("msg: \t")
    eval(expression(msg))
    cat("\n")
    traceback()
    cat("-------------------------------------\n")
    return(FALSE)
  }
  return(TRUE)
}

↓こんな使い方を想定.第一引数が判定条件,第二引数が判定条件がFALSEだったときに評価される式.

式は一つしかかけないけど,ブロック{}を使えば複数書ける.

  assert(hoge!=0)                       #hogeは0でない.
  assert(hoge!=0, print(hoge))     #hogeは0でない.0だったら,print(hoge)
  assert(hoge!=0, recover())         #recoverも便利
  assert(hoge!=0, {print(hoge);recover()}) #ブロックを使う
  if(!assert(hoge!=0)){                 #返り値を使ってif文で分岐
      print(hoge)
      recover()
   }

tracebackの挙動がよくわからん.思うところは色々あるが,ひとまず使ってみよう.

hoge <- 5
assert(hoge==0, print(hoge))
-------------------------------------
assert fail:
  hoge == 0
     is expected TRUE but it is FALSE
msg:   [1] 5
 
No traceback available 
-------------------------------------

トップ 最新 追記 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|