次のコードはpythonで与えられています.gawkで書きたいのですが、構文の適切なリンクが見つかりません.助けてください.
t=0;
while(t<10):
x=1
s = raw_input()
for c in s:
if(c=='F' or c=='L' or c=='D' or c=='T'):
x = x*2
print x
t = t+1
次のコードはpythonで与えられています.gawkで書きたいのですが、構文の適切なリンクが見つかりません.助けてください.
t=0;
while(t<10):
x=1
s = raw_input()
for c in s:
if(c=='F' or c=='L' or c=='D' or c=='T'):
x = x*2
print x
t = t+1
gawk 'NR <= 10 { x=1; len = length($0);
for (i = 1; i < len; i++)
if (substr($0, i, 1) ~ /[FLDT]/)
x *= 2;
print x
}'
テストされていないため、おそらく正確ではありません。このsubstr
行は、問題が発生する可能性が最も高い行です。一度に1文字ずつ抽出し$0
(効率の縮図とは言えません)、それを正規表現と比較します。n = gsub(/[FLDT]/, 'X')
それが行う置換の数(したがって、行内の文字数)を与えるものを検討し、適切[FLDT]
に乗算することができx
ます。
条件は最初のNR <= 10
10 行のみを処理します。