我能';t运行升华文本3中的ruby文件

我能';t运行升华文本3中的ruby文件,ruby,sublimetext3,Ruby,Sublimetext3,当我尝试在sublime文本中使用“build”选项运行文件时,它会告诉我“building”,然后就停止了。我没有收到错误消息,也没有崩溃,编辑代码可以正常工作。它根本不运行它。当我没有使用“def”作为命令时,它起作用了,但我必须将它们用于学校项目,它根本不起作用。 编辑:它与def一起工作,但在我尝试获取用户输入时不起作用。如果您使用的是Windows操作系统: 1。创建启动器批处理文件C:\Ruby26-x64\RBCMDRUN.BAT @echo off TITLE %1 set E

当我尝试在sublime文本中使用“build”选项运行文件时,它会告诉我“building”,然后就停止了。我没有收到错误消息,也没有崩溃,编辑代码可以正常工作。它根本不运行它。当我没有使用“def”作为命令时,它起作用了,但我必须将它们用于学校项目,它根本不起作用。
编辑:它与def一起工作,但在我尝试获取用户输入时不起作用。

如果您使用的是Windows操作系统:

1。创建启动器批处理文件C:\Ruby26-x64\RBCMDRUN.BAT

@echo off

TITLE %1
set EXE=%~dp0bin\ruby.exe
set MYARGS=
:NEXTARG
  if "[%~1]" NEQ "[]" (
      IF "[%~1]" EQU "[-PAUSE]" (
        set ALWAYSPAUSE=Y
        shift
        goto NEXTARG
      )
      if "%MYARGS%" EQU "" (
        set MYARGS=%~1
      ) else (
        set MYARGS=%MYARGS% %~1
      )
      rem echo %MYARGS%
      if not "[%~1]"=="[]" (
        shift
        goto NEXTARG
      )
  )

IF "[%MYARGS%]" EQU "[]" (
    ECHO Error: ruby file name is missing
    GOTO PAUSEANDEXIT
)

echo %EXE% %MYARGS%
%EXE% "%MYARGS%"

IF %ERRORLEVEL% NEQ 0 (
    ECHO Program exited with error %ERRORLEVEL% 
    GOTO PAUSEANDEXIT
)

IF "%ALWAYSPAUSE%" NEQ "Y" GOTO EXIT

:PAUSEANDEXIT
PAUSE
:EXIT
EXIT
2。添加或修改.Ruby的升华版本

@echo off

TITLE %1
set EXE=%~dp0bin\ruby.exe
set MYARGS=
:NEXTARG
  if "[%~1]" NEQ "[]" (
      IF "[%~1]" EQU "[-PAUSE]" (
        set ALWAYSPAUSE=Y
        shift
        goto NEXTARG
      )
      if "%MYARGS%" EQU "" (
        set MYARGS=%~1
      ) else (
        set MYARGS=%MYARGS% %~1
      )
      rem echo %MYARGS%
      if not "[%~1]"=="[]" (
        shift
        goto NEXTARG
      )
  )

IF "[%MYARGS%]" EQU "[]" (
    ECHO Error: ruby file name is missing
    GOTO PAUSEANDEXIT
)

echo %EXE% %MYARGS%
%EXE% "%MYARGS%"

IF %ERRORLEVEL% NEQ 0 (
    ECHO Program exited with error %ERRORLEVEL% 
    GOTO PAUSEANDEXIT
)

IF "%ALWAYSPAUSE%" NEQ "Y" GOTO EXIT

:PAUSEANDEXIT
PAUSE
:EXIT
EXIT
Packages/Ruby/Ruby.sublime-build

    "cmd": ["start", "C:\\Ruby26-x64\\RBCMDRUN.BAT", "$file", "-PAUSE"],
    "shell": true,
如果不需要,请删除“-暂停”

3。[可选]为运行脚本绑定密钥

@echo off

TITLE %1
set EXE=%~dp0bin\ruby.exe
set MYARGS=
:NEXTARG
  if "[%~1]" NEQ "[]" (
      IF "[%~1]" EQU "[-PAUSE]" (
        set ALWAYSPAUSE=Y
        shift
        goto NEXTARG
      )
      if "%MYARGS%" EQU "" (
        set MYARGS=%~1
      ) else (
        set MYARGS=%MYARGS% %~1
      )
      rem echo %MYARGS%
      if not "[%~1]"=="[]" (
        shift
        goto NEXTARG
      )
  )

IF "[%MYARGS%]" EQU "[]" (
    ECHO Error: ruby file name is missing
    GOTO PAUSEANDEXIT
)

echo %EXE% %MYARGS%
%EXE% "%MYARGS%"

IF %ERRORLEVEL% NEQ 0 (
    ECHO Program exited with error %ERRORLEVEL% 
    GOTO PAUSEANDEXIT
)

IF "%ALWAYSPAUSE%" NEQ "Y" GOTO EXIT

:PAUSEANDEXIT
PAUSE
:EXIT
EXIT
首选项-键绑定


{“keys”:[“f5”],“command”:“build”},

除非您进行额外的设置,否则Sublime中的构建系统无法交互。如果您使用的是升华附带的构建系统,这就是它不适合您的原因。