Vimスクリプト(str2float)

関数で計算をしてみます。


5行目から10行目を選択して、

:'<,'>call setline(".",pow(getline("."),2))

エラーが出てしまいました。
どうやら、文字列を直接pow関数に渡すのはNGなようです。

str2float関数を使って、getlineで得た文字列を数値に変換します。

:'<,'>call setline(".",pow(str2float(getline(".")),2))

まだエラーになりますね。
setlineへ渡すときの値を、文字列にしていませんでした。

stringを使って、powで得た計算結果を文字列に変換します。

:'<,'>call setline(".",string(pow(str2float(getline(".")),2)))

今度はうまくいきました。

コメント

タイトルとURLをコピーしました