以编程方式使用Ruby REPL加载库

时间:2015-12-28 23:13:30

标签: ruby read-eval-print-loop irb

我一直试图在脚本中加载项目库,然后启动IRB或ripl以允许用户与项目库进行快速交互。我成功地做到了这一点。

我的问题是以编程方式关闭命令行回显。

通过调用irb_context.echo = false,这很容易实现,但由于控制权移交给IRB.startirb_context并且IRB.start并非{0},因此无法通过编程方式进行操作。在致电 <h:selectOneMenu id="fkGameId" value="#{controller.gameList}" converter="omnifaces.SelectItemsConverter" required="true" requiredMessage="The Game Id field is required."> <f:selectItem itemValue="#{null}" itemLabel="#{game.gameDescription}"/> <f:selectItems value="#{controller.gameLists}" var="game" itemValue="#{game.gameId}" itemLabel="#{game.gameDescription}"/> </h:selectOneMenu> <h:outputLabel value="Player ID: " for="fkPlayerId" /> <h:selectOneMenu id="fkPlayerId" value="#{controller.playerList}" converter="omnifaces.SelectItemsConverter" required="true" requiredMessage="The Player ID field is required."> <f:selectItem itemValue="#{null}" itemLabel="#{player.playerName}"/> <f:selectItems value="#{controller.playerLists}" var="player" itemValue="#{player.playerId}" itemLabel="#{player.playerName}"/> </h:selectOneMenu>

之前可用

1 个答案:

答案 0 :(得分:0)

如果您希望InputStream在用户提供输入时不写任何内容,您可以手动设置信息:

IRB

这样,REPL将忽略返回值,只会打印换行符。有关详细信息,请参阅official docs