2016-08-24 1 views
0

Betrachten onelinerWie man Druck/puts in Ruby Oneliner schiebt?

$ ruby -e 'puts 1 + 1' 

die ruby als Kommandozeilen-Rechner verwendet. Ich möchte den Ausdruck ohne puts schreiben. Gibt es dafür einen Schalter in ruby Befehl?

+1

Wie werden Sie das verwenden? – Stefan

+0

So: '$ ruby ​​-e 'benötigt" sy "; puts 42.kWh.in: MJ'' Und während ich nicht vermeiden kann, 'sy' Juwel zu erfordern, möchte ich vermeiden,' puts' zu schreiben ... –

+0

Ich ermutige mehr Antwort auf diese Frage ... –

Antwort

2

Es ist mit rubinBefehlsZeilenSchalter unmöglich, aber es ist leicht erreichbar mit Shell:

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

⮀ rubyoneliner '1 + 1' 
2 

oder mit bash/zsh Funktion.

+0

Danke . Nur um sicher zu gehen, ist '/ usr/local/bin' der richtige Ort, um diese Art von Skripten einzubauen? –

+0

Was wäre, wenn ich weitere Befehlsoptionen an mein 'rubyoneliner' Skript übergeben möchte? –

+0

'/ usr/local/bin' ist in Ordnung, ja. Persönliche Skripte werden normalerweise in '~/bin' gespeichert, aber letzteres ist nicht standardmäßig in allen Distributionen im $ PATH enthalten. Die zweite Frage: Wenn es andere Optionen gibt, die speziell behandelt werden sollen, sollten Sie wahrscheinlich den letzten Parameter in 'rubyoneliner' zerschneiden und den Aufruf von' ruby' sorgfältiger konstruieren. – mudasobwa