[過去ログ]
シェルスクリプト総合 その26 [無断転載禁止]©2ch.net (1002レス)
シェルスクリプト総合 その26 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/unix/1489979246/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
932: 名無しさん@お腹いっぱい。 [sage] 2018/05/03(木) 04:32:29.46 なお、俺が書いたコードだと以下のように正しく出力される $ test.sh "a" "b${A}b" "c" "d" "e" 1: bb b b b b 2: c 3: d >>925を参考にして以下のように書いた selectargnum() { func=$1 start=$2 length=$3 shift 3 i=0 last=$((start+length)) for arg in "$@"; do : $((i+=1)) [ $i -gt $length ] && shift [ $i -ge $last ] && continue shift set -- "$@" "$arg" done $func "$@" } somefunc() { printf '1: %s\n' "$1" printf '2: %s\n' "$2" printf '3: %s\n' "$3" } selectargnum somefunc 2 3 "$@" http://mevius.5ch.net/test/read.cgi/unix/1489979246/932
933: 名無しさん@お腹いっぱい。 [sage] 2018/05/03(木) 04:34:38.30 ただ問題は、>>932のコードを書いた俺自身が なんでこのコードで動くのかよく分かってない所だなw 誰か俺の書いたコードが何をやってるのか教えてくれw >>925のコードはなにやら引数を一周させているみたいだ。 俺が書いたコードは、その一周を途中で中断させているようだな? http://mevius.5ch.net/test/read.cgi/unix/1489979246/933
938: 名無しさん@お腹いっぱい。 [sage] 2018/05/03(木) 05:49:25.62 >>932 ちょっとリファクタリング(ってほど大層じゃないが) selectargnum() { func="$1"; start=$2; length=$3 shift 3 i=0; last=$((start + length)) for arg in "$@"; do i=$((i + 1)) test ${i} -gt ${length} && shift test ${i} -ge ${last} && continue shift set -- "$@" "${arg}" done "${func}" "${@}" } http://mevius.5ch.net/test/read.cgi/unix/1489979246/938
971: 名無しさん@お腹いっぱい。 [sage] 2018/05/03(木) 14:32:04.43 はぁ?教えてもらうも何も>>932で自力で解いたし >>934でeval使ったほうが良いかもって、 それは最初からわかってるよアピール(笑)もしたし お前はなにか役に立ったのか? 俺に問題が間違ってるといちゃもんを付けた挙げ句 結局、俺の足元にも及んでないじゃんw http://mevius.5ch.net/test/read.cgi/unix/1489979246/971
979: 名無しさん@お腹いっぱい。 [sage] 2018/05/03(木) 16:29:15.75 >>977 いや、だから>>932で自力で解いたってw eval使ったほうが良さそうだけど (ここまで自力の結論というかeval版は質問前に作っていたがね) http://mevius.5ch.net/test/read.cgi/unix/1489979246/979
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.168s*