■Windows版Rubyの細道・けもの道

■ナビゲータ

[南北館(最初のメニュー)]

  1. [Windows版Rubyの細道・けもの道]
    1. [1.準備編]
    2. [2.基本編]
    3. [3.応用編]
      1. [3-1.固定長データとCSVデータとの変換]
      2. [3-2.重複データの処理]
      3. [3-3.フォルダ内の一括処理]
      4. [3-4.1つのファイルを複数のファイルに分割する]
      5. [3-5.文字コードの変換]
      6. [3-6.半角全角変換]
      7. [3-7.多次元配列の処理]
      8. [3-9.その他]
        1. [3-9-1.文字列のフォーマットを変更する]
        2. [3-9-2.メッセージを表示する]
        3. [3-9-3.ファイルのサイズを取得する]
        4. [3-9-4.当日・前日・前営業日、前月末日・当月末日・翌月末日を取得する]
        5. [3-9-5.複数レコードを1レコードにまとめる]
        6. [3-9-6.電卓プログラム]
        7. [3-9-7.素因数分解]
    4. [スクリプトと入力データのサンプル]
Perlではどう処理する?
同じことをPerlではこうしています。

3.応用編

3-9.その他

3-9-6.電卓プログラム

式を指定したファイルを読み込んで、計算結果を付加するスクリプトです。「eval」関数を利用することによって、文字列で指定した内容を計算し、結果を返します。

【スクリプト】
# calc.rb   
# 内容 : 電卓プログラム    
#     入力ファイルに式をセットしておくと出力ファイルに式=値という形式で出力される。    
#     (例)入力ファイル   出力ファイル 
#        15 + 22      15 + 22 = 37    
#        41 - 29      41 - 29 = 12    
#        12 * 15      12 * 15 = 180   
#        128 / 8      128 / 8 = 16    
# Copyright (c) 2002-2015 Mitsuo Minagawa, All rights reserved. 
# (minagawa@fb3.so-net.ne.jp)   
# 使用方法 : c:\>ruby calc.rb   
#   
# 入力ファイル  
in1_file    =   open("input.txt","r")   
# 出力ファイル  
out1_file   =   open("output.txt","w")  

# 主処理    
while   (line1  =   in1_file.gets)  
    line1.chomp!    
    out1_file.print "#{line1} = ",eval(line1),"\n"  
end 

# ファイルのクローズ    
in1_file.close  
out1_file.close 
   
【スクリプトとデータのサンプル】

スクリプトはこちらにあります。

【入力データ】
15 + 22
41 - 29
12 * 15
128 / 8
   
【出力データ】
15 + 22 = 37
41 - 29 = 12
12 * 15 = 180
128 / 8 = 16
   



Copyright (c) 2004-2015 Mitsuo Minagawa, All rights reserved.