2013-10-12 66 views
1

我用崇高的文本和寫在紅寶石這個簡單的程序由於某種原因,如果我建立它用崇高文本內置系統,然後我得到以下錯誤崇高文字無法理解gets.chomp

`deposit': undefined method `chomp' for nil:NilClass (NoMethodError) 

其運行如果我使用cmd運行它,那完全是。

class BankAccount 
    def initialize(name) 
     @transactions = [] 
     @balance = 0 
    end 
    def deposit 
     print "How much do you want to deposit?" 
     amount = gets.chomp 
     @balance += amount.to_f 
     puts "$#{amount} is deposited" 
    end 
    def show_balance 
     puts "Your balance is #{@balance}" 
    end 
end 
bank_account = BankAccount.new("Rohit Begani") 
bank_account.class # => BankAccount 
bank_account.deposit 
bank_account.show_balance 

回答

3

崇高無法自行處理交互式輸入。您可以通過SublimeREPL運行腳本,也可以創建自定義的build system以打開命令提示符並運行代碼。幸運的是,這並不難。創建崇高一個新的文件,其內容如下:

{ 
    "cmd": ["start", "cmd", "/k", "c:/ruby193/bin/ruby.exe", "$file"], 
    "selector": "source.ruby", 
    "shell": true, 
    "working_dir": "$file_dir" 
} 

保存爲Packages/User/Ruby_cmd.sublime-build,其中Packages是選擇Preferences -> Browse Packages...時打開的目錄。選擇Tools -> Build System -> Ruby_cmd,並與按Ctrl運行您的文件。

這應該適用於Windows XP以上的所有版本。但它不適用於OSX或Linux,因爲它們沒有startcmd程序...