我试图通过使用三元运算符从代码中消除大量的IF / ELSE语句。
//Checks to see if person exists //if not then add //else print
println doesPersonExist(personName) ? addPerson(personName) : 'No such person'
问题是如果执行addPerson(personName)方法,则由于println而打印NULL。无论如何从printng到控制台都有NULL吗?我知道我可以删除println但是“没有这样的人”不会打印。
更新:我终于设法让这个工作按要求 - 我只是删除了println和'没有这样的人'并用它替换了它们:
doesCarrierExist(carrierName) ? exists() : addCarrier(carrierName)
其中exists方法只是在基类中调用println语句。我希望这可以帮助将来遇到类似问题的任何人。
答案 0 :(得分:0)
在您的代码中,您可以混合两种不同的操作。
最好的办法是将它作为每个动作的一个独立手柄处理(用于添加和打印)。
如果addPerson(personName)返回String结果,您可以使用以下Groovy代码部分向控制台打印结果:
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.2.1.js" type="text/javascript"></script>
<script src="~/signalr/hubs" type="text/javascript"></script>
<script>
$(function () {
alert($.connection);//here i am getting "undefined"
var chathub = $.connection.chatHub;
alert(chathub);
chathub.clients.broadcastMessage = function (msg) {
$("#discussion").append("<li>" + msg + "</li>");
};
$("#sendmessage").click(function () {
var text = $("#message").val();
chathub.server.send(text);
});
$.connection.hub.start();
});
</script>
<div class="container">
<input type="text" id="message" />
<input type="button" id="sendmessage" value="Send" />
<ul id="discussion"></ul>
</div>
注意:如果您使用的是Java语言,请将'def'替换为'String'。