Ich habe eine Frage zu ruby / Koch, ich ein Rezept bin zu schaffen, wird das Setup ein Cron-Job, sobald wir Koch-Client der Knoten, und ich bin ein Syntaxfehler bekommen, wenn ich meine Küche TestEinstellung Cron Koch mit
laufender folgende Code-Block ist ein Teil meines Rezepts
action node["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["enabled"] = ? :create : :delete
minute node["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["minute"]
hour node["hadoop_temp"]["scripts"]["cron"]["clean_teamp"]["hour"]
day node["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["day"]
month node["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["month"]
weekday node["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["weekday"]
der folgende Block eines Teil meiner Attribute ist.
#Run the cron every day at 12AM cleans /temp
default["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["enabled"] = false
default["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["minute"] = "0"
default["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["hour"] = "0"
default["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["day"] = "*"
default["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["month"] = "*"
default["hadoop_temp"]["scripts"]["cron"]["clean_temp"]["weekday"] = "*"
Wenn ich meinen Küchentest starte, erhalte ich den folgenden Fehler. Ich habe löschen Ich will nur das Attribut auf true wechseln
SyntaxError
-----------
/tmp/kitchen/cache/cookbooks/hadoop_temp/recipes/clean_temp.rb:25: syntax error, unexpected '?'
..."hadoop_temp"]["enabled"] = ? :create : :delete
ich in Ruby versteht boolean 100% nicht, was ich bewerkstelligen will, wenn der Eintrag erstellen existieren, aber wenn in der Zukunft.
Entfernen Sie die '=' Zeichen übergeben @StephenKing. – StephenKing
Sie könnten [lernen über den ternären Operator in Ruby] (http://stackoverflow.com/questions/4252936/how-doi-i-use-the-conditional-operator-in-ruby). – StephenKing
Vielen Dank @StephenKing mein Test bestanden! das war einfach! –