作者guava0425 (Milton)
看板Ruby
標題[問題]在ruby 執行外部程式(C++)的方法?
時間Sun Apr 28 14:24:47 2013
環境:
Ruby 1.8.7
狀況:
我想要在RUBY程式寫讓他能執行我外部已經寫好的C++程式,
並要能帶入參數,請問一下有哪些方法?
目前有去查說SWIG可以但是好複雜看不懂,
還有%x,exec,system,IO.popen這些方法適用嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.107.59
1F:→ hSATAC:FFI? 04/28 15:14
2F:推 mars90226:直接執行外部程式的話用system("你的程式 參數") 04/28 15:23
3F:→ mars90226:想要用output出來的資料的話,用%x"你的程式 參數" 04/28 15:25
4F:→ guava0425:請問我的c++程式要放在哪? 我可以把RUBY輸入的參數餵給 04/28 16:04
5F:→ guava0425:C++程式嗎? 04/28 16:04
6F:推 zero00072:猜你想用的是這樣:`a.out #{arg1} #{arg2} #{arg3}` 04/29 02:21
7F:→ zero00072:Ruby 直接參數是:ARGV[0]、ARGV[1]、ARGV[2]……。 04/29 02:22
8F:→ zero00072:所以變成 `a.out #{ARGV[0]} #{ARGV[1]}` 這樣。 04/29 02:23
9F:推 AIGecko:用ShellExecute也可以吧 Ruby可以呼叫Win32API 04/29 17:00
10F:→ AIGecko:str="";ARGV.each{|arg| str<<arg<<" "} 04/29 17:03
11F:推 aquarianboy:FFI +1 04/30 00:19
12F:→ Jazznight:pipe open => IO.popen(command){|pipe| xx=pipe.read} 05/13 23:06