2016-08-24 9 views
0

は検討コマンドライン電卓としてrubyを使用Ruby onelinerにプリント/パースする方法を教えてください。

$ ruby -e 'puts 1 + 1' 

oneliner。私はputsのない式を書いていきたいと思います。 rubyコマンドにスイッチがありますか?

+1

これはどのように使用しますか? – Stefan

+0

このように: '$ ruby​​ -e 'require" sy "; 42.kWh.in:MJ'' 私は 'sy'の宝石を要求するのを避けることはできませんが、私は' puts'を書くことを避けたいと思います... –

+0

私はこの質問への回答をもっと励まします... –

答えて

2

それはルビーコマンドラインスイッチでは不可能であるが、それはシェルと容易に達成可能だ:

⮀ cat /usr/local/bin/rubyoneliner 
#!/bin/sh 
ruby -e "puts [email protected]" 

⮀ rubyoneliner '1 + 1' 
2 

やbash/zshの機能を持ちます。

+0

ありがとう。確かに、 '/ usr/local/bin'はこの種のスクリプトを置くのに適していますか? –

+0

さらに、 'rubyoneliner'スクリプトにコマンドオプションを渡したいのですが? –

+0

'/ usr/local/bin'は問題ありません。個人的なスクリプトは通常 '〜/ bin'に格納されますが、後者はすべてのディストリビューションでデフォルトで' $ PATH'には含まれません。 2番目の質問:特に扱われる他のオプションがある場合は、 'rubyoneliner'の最後のパラメータをスライスし、より慎重に' ruby​​'の呼び出しを構築するべきでしょう。 – mudasobwa