x [-1L]!= x [-n]中的错误:这些类型的比较未实现 [英] Error in x[-1L] != x[-n] : comparison of these types is not implemented

查看:234
本文介绍了x [-1L]!= x [-n]中的错误:这些类型的比较未实现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不在寻找问题的根源。根据追溯我猜,即使我已经测试了这个问题是与four.in.a.row函数。

  four.in.a.row = function(player,v,debug = FALSE){
if(debug ){
cat(sep =,four.in.a.row(player =,player,v =,v,)\\\

}
with(rle(v),any(length == 4& values == player))
}
#返回TRUE如果(矩阵)板(字符串)
#包含至少四个(串)玩家,
#刚刚在位置(r,c)玩。 (这里r表示行,
#c表示列)。

#提示:这个函数应该调用four.in.a.row()四次。
won = function(player,board,r,c,debug = FALSE){
if(debug){
cat(sep =,won(player =, ,board = \\\

print(board)
cat(sep =,,r =,r,,c =,c,)\\\

}
row_w = board [r,]
cat(row is =,row_w,\\\

col_w = board [,c]
cat(col is =,col_w,\\\

reverse_diag_w = board [row(board)+ col(board)== r + c]
cat(reverse diag is =,reverse_diag_w,\\\

diag_w = x [row(board) - col(board)== r - c]
cat(diag is =,diag_w \\\

four.in.a.row(player,row_w,debug = FALSE)
four.in.a.row(player,col_w,debug = FALSE)
四.in.a.row(player,diag_w,debug = FALSE)
four.in.a.row(player,reverse_diag_w,debug = FALSE)
return(FALSE)#更正此return()语句


x = matrix(data = c(
E,E,E,E,E,E ,
E,E,E,E,E,E,O,
E,E E,E,E,O,
E,E,E,E,E O,
E,E,E,E,E,E,X,
X,X ,X,O,E,X
),nrow = 6,ncol = 7,byrow = TRUE)
stopifnot(won(player =X = x,r = 6,c = 1,debug = TRUE))
stopifnot(!won(player =O,board = x,r = 6,c = 1,debug = TRUE) $ b stopifnot(!won(player =X,board = x,r = 1,c = 7,debug = TRUE)
stopifnot(won(player =O,board = x,r = 1,c = 7,debug = TRUE))

以下是运行信息:

 >来源(rle.R)
won(player = X,board =
[,1] [,2] [,3] [,4] [,5] [,6] 7]
[1,]EEEEEEO
[2,]EEE EEO
[3,]EEEEEEO
[4,]E EEEEEO
[5,]EEEEEEX b [6,]XXXXOEX
,r = 6,c = 1)
行= XXXXOEX
= = EEEEEX
reverse diag is = XEEEEE
diag is = X
错误:won(player =X,board = x,r = 6,c = 1,debug = TRUE)不是TRUE

我的主要问题是当我运行四。 in.a.row 函数分别返回TRUE,如下所示:

 > x =矩阵(data = c(
+E,E,E,E,E,E,O,
+E E,E,E,E,E,O,
+E,E E,O,
+E,E,E,E,E,E,O,
+E E,E,E,E,E,X,
+X,X,X,X,O ,X
+),nrow = 6,ncol = 7,byrow = TRUE)
> row_x = x [6,]
> row_x
[1]XXXXOEX
> four.in.a.row(X,row_x,debug = FALSE)
[1] TRUE

将代码更改为@Flodel告诉我的内容后,我有:

  four.in.a.row = function(player,v,debug = FALSE){
if(debug){
cat(sep =,four.in.a.row(player =,player,,v = ,v,)\\\

}
with(rle(v),any(length == 4& values == player))
}
#返回TRUE如果(矩阵)板(字符串)
#包含一行(字符串)播放器中至少四个,
#刚刚在位置(r,c)播放。 (这里r表示行,
#c表示列)。

#提示:这个函数应该调用four.in.a.row()四次。
won = function(player,board,r,c,debug = FALSE){
if(debug){
cat(sep =,won(player =, ,board = \\\

print(board)
cat(sep =,,r =,r,,c =,c,)\\\

}
row_w = board [r,]
cat(row is =,row_w,\\\

col_w = board [,c]
cat(col is =,col_w,\\\

reverse_diag_w = board [row(board)+ col(board)== r + c]
cat(reverse diag is =,reverse_diag_w,\\\

diag_w = board [row(board) - col(board)== r - c]
cat(diag is =,diag_w \\\

#four.in.a.row(player,row_w,debug = FALSE)
#four.in.a.row(player,col_w,debug = FALSE)
#four.in.a.row(player,diag_w,debug = FALSE)
#four.in.a.row(player,reverse_diag_w,debug = FALSE)
#return(FALSE)#correct这个return()语句
return(four.in.a.row(player,row_w,debug = FALSE)||
four.in.a.row(player,col_w,debug = FALSE)| |
four.in.a.row(player,diag_w,debug = FALSE)||
four.in.a.row(player,reverse_diag_w,debug = FALSE)
}

x = matrix(data = c(
E,E,E,E,E,E,O,
E,E,E,E E,O,
E,E,E,E,E,E,O,
E E,E,E,E,E,O,
E,E,E,E,E ,X,
X,X,X,X,O,E,X
),nrow = 6,ncol = 7 ,byrow = TRUE)
stopifnot(won(player =X,board = x,r = 6,c = 1,debug = TRUE))
stopifnot(!won(player =O ,board = x,r = 6,c = 1,debug = TRUE))
stopifnot(!won(player =X,board = x,r = 1,c = 7,debug = TRUE)
stopifnot(won(player =O,board = x,r = 1,c = 7,debug = TRUE))

这是我收到的错误:

 >来源(rle.R)
won(player = X,board =
[,1] [,2] [,3] [,4] [,5] [,6] 7]
[1,]EEEEEEO
[2,]EEE EEO
[3,]EEEEEEO
[4,]E EEEEEO
[5,]EEEEEEX b [6,]XXXXOEX
,r = 6,c = 1)
行= XXXXOEX
col is = EEEEEX
reverse diag is = XEEEEE
diag is = X
显示追溯

重新运行调试
x [-1L]中的错误!= x [-n]:这些类型的比较没有实现

这是追溯的结果:

  x [-1L]中的错误!= x [-n]:这些类型的比较未实现
9 rle(v)
8 with(rle(v),any(length == 4& values == player))at rle.R#5
7 four.in.a.row (播放器,诊断,调试= FALSE)在rle.R#32
6 won(player =X,board = x,r = 6,c = 1,debug = TRU E)
5 stopifnot(won(player =X,board = x,r = 6,c = 1,debug = TRUE))在rle.R#46
4 eval(expr,envir ,$)
3 eval(ei,envir)
2 withVisible(eval(ei,envir))
1 source(rle.R)


解决方案

这是答案感谢Flodel的指南:

  four.in.a.row = function(player,v,debug = FALSE){
if(debug){
cat(sep = ,(=,,,vv)\\\

}
with(rle(v))any == 4&值== player))
}
#返回TRUE如果(矩阵)板(字符串)
#包含一行(字符串)播放器中至少四个,
#刚刚就位(r,c)。 (这里r表示行,
#c表示列)。

#提示:这个函数应该调用four.in.a.row()四次。
won = function(player,board,r,c,debug = FALSE){
if(debug){
cat(sep =,won(player =, ,board = \\\

print(board)
cat(sep =,,r =,r,,c =,c,)\\\

}
row_w = board [r,]
cat(row is =,row_w,\\\

col_w = board [,c]
cat(col is =,col_w,\\\

reverse_diag_w = board [row(board)+ col(board)== r + c]
cat(reverse diag is =,reverse_diag_w,\\\

diag_w = x [row(board) - col(board)== r - c]
cat(diag is =,diag_w \\\

#four.in.a.row(player,row_w,debug = FALSE)
#four.in.a.row(player,col_w,debug = FALSE)
#four.in.a.row(player,diag_w,debug = FALSE)
#four.in.a.row(player,reverse_diag_w,debug = FALSE)
#return(FALSE)#correct这个return()语句
return(four.in.a.row(player,row_w,debug = debug)||
four.in.a.row(player,col_w,debug = debug) |
four.in.a.row(player,diag_w,debug = deb ug)||
four.in.a.row(player,reverse_diag_w,debug = debug)
}

x = matrix(data = c(
E,E,E,E,E,E,O,
E,E ,E,O,B,E,E,E,E,E,E E,E,E,E,E,O,
E,E,E,E ,X,
X,X,X,X,O,E,X
),nrow = 6,ncol = by = =))
stopifnot(won(player =X,board = x,r = 6,c = 1,debug = TRUE)
stopifnot(!won(player =O board = x,r = 6,c = 1,debug = TRUE))
stopifnot(!won(player =X,board = x,r = 1,c = 7,debug = TRUE) b $ b stopifnot(won(player =O,board = x,r = 1,c = 7,debug = TRUE))

这是我得到的:

 >来源(rle.R)
won(player = X,board =
[,1] [,2] [,3] [,4] [,5] [,6] 7]
[1,]EEEEEEO
[2,]EEE EEO
[3,]EEEEEEO
[4,]E EEEEEO
[5,]EEEEEEX b [6,]XXXXOEX
,r = 6,c = 1)
行= XXXXOEX
col is = EEEEEX
reverse diag is = XEEEEE
diag is = X
four.in.a.row(player = X,v = XXXXOEX)
won(player = O,board =
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]EE EEEEO
[2,]EEEEEEO
[3 ,EEEEEEO
[4,]EEEEEE O
[5,]EEEEEEX
[6,]XXXX OEX
,r = 6,c = 1)
row is = XXXXOEX
col is = EEEEEX
reverse diag is = XEEEEE
diag is = X
four.in.a.row(player = O,v = XXXXOEX)
four.in.a.row(player = O,v = EEEEEX)
four.in.a.行(玩家= O,v = X)
four.in.a.row(player = O,v = XEEEEE)
won(player = X,board =
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]EEEEEE O
[2,]EEEEEEO
[3,]EEE EEEO
[4,]EEEEEEO
[5,] EEEEEX
[6,]XXXXOEX $ b,r = 1,c = 7)
row is = EEEEEEO
col is = OOOOXX
reverse diag is = XEEEEO
diag is = O
four。 in.a.row(player = X,v = EEEEEEO)
four.in.a.row(player = X,v = OOOOXX)
four.in.a.row(player = X, v = O)
four.in.a.row(player = X,v = XEEEEO)
won(player = O,board =
[,1] [,2] [, 3] [,4] [,5] [,6] [,7]
[1,]EEEEEEO
[2,]EEEEEEO
[3,]EEEEE EO
[4,]EE EEEEO
[5,]EEEEEEX
[6 ,]XXXXOEX
,r = 1,c = 7)
row is = EEEEEEO
col = OOOOXX
reverse diag is = XEEEEO
diag is = O
four.in.a.row(player = O,v = EEEEEEO)
four.in.a.row (玩家= O,v = OOOOXX)

我主要担心 将不会工作,当我给一个向量较少的长度4,然后比较它,看看它是否包含长度为4的 X O s。请让我知道答案是否正确。


I am stuck in finding the source of the problem. According to traceback I guess the problem is with four.in.a.row function even though I have tested it.

four.in.a.row = function(player, v, debug=FALSE) {
  if (debug) {
    cat(sep="", "four.in.a.row(player=", player, ", v=", v, ")\n")
  }
  with(rle(v), any(lengths== 4 & values == player))
}
# Returns TRUE if (matrix) board (of character strings)
# contains at least four in a row of (string) player, who
# just played in position (r, c). (Here "r" means "row" and
# "c" means "column").
#
# Hint: this function should call four.in.a.row() four times.
won = function(player, board, r, c, debug=FALSE) {
  if (debug) {
    cat(sep="", "won(player=", player, ", board=\n")
    print(board)
    cat(sep="", ", r=", r, ", c=", c, ")\n")
  }
  row_w=board[r,]
  cat("row is = ", row_w, "\n")
  col_w=board[,c]
  cat("col is = ", col_w, "\n")
  reverse_diag_w=board[row(board) + col(board) == r + c]
  cat("reverse diag is = ", reverse_diag_w, "\n")
  diag_w=x[row(board) - col(board) == r - c]
  cat("diag is = ", diag_w, "\n")
  four.in.a.row(player,row_w,debug=FALSE)
  four.in.a.row(player,col_w,debug=FALSE)
  four.in.a.row(player,diag_w,debug=FALSE)
  four.in.a.row(player,reverse_diag_w,debug=FALSE)
  return(FALSE) # correct this return() statement
}

x = matrix(data=c(
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","X",
  "X","X","X","X","O","E","X"
), nrow=6, ncol=7, byrow=TRUE)
stopifnot( won(player="X", board=x, r=6, c=1, debug=TRUE))
stopifnot(!won(player="O", board=x, r=6, c=1, debug=TRUE))
stopifnot(!won(player="X", board=x, r=1, c=7, debug=TRUE))
stopifnot( won(player="O", board=x, r=1, c=7, debug=TRUE))

Here's the run information:

> source("rle.R")
won(player=X, board=
     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[2,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[3,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[4,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[5,] "E"  "E"  "E"  "E"  "E"  "E"  "X" 
[6,] "X"  "X"  "X"  "X"  "O"  "E"  "X" 
, r=6, c=1)
row is =  X X X X O E X 
col is =  E E E E E X 
reverse diag is =  X E E E E E 
diag is =  X 
Error: won(player = "X", board = x, r = 6, c = 1, debug = TRUE) is not TRUE

My main problem is when I run the four.in.a.row function separately it returns TRUE as in the following:

> x = matrix(data=c(
+     "E","E","E","E","E","E","O",
+     "E","E","E","E","E","E","O",
+     "E","E","E","E","E","E","O",
+     "E","E","E","E","E","E","O",
+     "E","E","E","E","E","E","X",
+     "X","X","X","X","O","E","X"
+ ), nrow=6, ncol=7, byrow=TRUE)
> row_x=x[6,]
> row_x
[1] "X" "X" "X" "X" "O" "E" "X"
> four.in.a.row("X",row_x,debug=FALSE)
[1] TRUE

After changing the code to what @Flodel told me I have:

four.in.a.row = function(player, v, debug=FALSE) {
  if (debug) {
    cat(sep="", "four.in.a.row(player=", player, ", v=", v, ")\n")
  }
  with(rle(v), any(lengths== 4 & values == player))
}
# Returns TRUE if (matrix) board (of character strings)
# contains at least four in a row of (string) player, who
# just played in position (r, c). (Here "r" means "row" and
# "c" means "column").
#
# Hint: this function should call four.in.a.row() four times.
won = function(player, board, r, c, debug=FALSE) {
  if (debug) {
    cat(sep="", "won(player=", player, ", board=\n")
    print(board)
    cat(sep="", ", r=", r, ", c=", c, ")\n")
  }
  row_w=board[r,]
  cat("row is = ", row_w, "\n")
  col_w=board[,c]
  cat("col is = ", col_w, "\n")
  reverse_diag_w=board[row(board) + col(board) == r + c]
  cat("reverse diag is = ", reverse_diag_w, "\n")
  diag_w=board[row(board) - col(board) == r - c]
  cat("diag is = ", diag_w, "\n")
  #four.in.a.row(player,row_w,debug=FALSE)
  #four.in.a.row(player,col_w,debug=FALSE)
  #four.in.a.row(player,diag_w,debug=FALSE)
  #four.in.a.row(player,reverse_diag_w,debug=FALSE)
  #return(FALSE) # correct this return() statement
  return(four.in.a.row(player,row_w,debug=FALSE)  ||
           four.in.a.row(player,col_w,debug=FALSE)  ||
           four.in.a.row(player,diag_w,debug=FALSE) ||
           four.in.a.row(player,reverse_diag_w,debug=FALSE))
}

x = matrix(data=c(
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","X",
  "X","X","X","X","O","E","X"
), nrow=6, ncol=7, byrow=TRUE)
stopifnot( won(player="X", board=x, r=6, c=1, debug=TRUE))
stopifnot(!won(player="O", board=x, r=6, c=1, debug=TRUE))
stopifnot(!won(player="X", board=x, r=1, c=7, debug=TRUE))
stopifnot( won(player="O", board=x, r=1, c=7, debug=TRUE))

And here's the error I receive:

> source("rle.R")
won(player=X, board=
     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[2,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[3,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[4,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[5,] "E"  "E"  "E"  "E"  "E"  "E"  "X" 
[6,] "X"  "X"  "X"  "X"  "O"  "E"  "X" 
, r=6, c=1)
row is =  X X X X O E X 
col is =  E E E E E X 
reverse diag is =  X E E E E E 
diag is =  X 
 Show Traceback

 Rerun with Debug
 Error in x[-1L] != x[-n] : comparison of these types is not implemented 

Here's the result of the traceback:

Error in x[-1L] != x[-n] : comparison of these types is not implemented 
9 rle(v) 
8 with(rle(v), any(lengths == 4 & values == player)) at rle.R#5
7 four.in.a.row(player, diag, debug = FALSE) at rle.R#32
6 won(player = "X", board = x, r = 6, c = 1, debug = TRUE) 
5 stopifnot(won(player = "X", board = x, r = 6, c = 1, debug = TRUE)) at rle.R#46
4 eval(expr, envir, enclos) 
3 eval(ei, envir) 
2 withVisible(eval(ei, envir)) 
1 source("rle.R") 

解决方案

Here's the answer thanks to Flodel's guide:

four.in.a.row = function(player, v, debug=FALSE) {
  if (debug) {
    cat(sep="", "four.in.a.row(player=", player, ", v=", v, ")\n")
  }
  with(rle(v), any(lengths== 4 & values == player))
}
# Returns TRUE if (matrix) board (of character strings)
# contains at least four in a row of (string) player, who
# just played in position (r, c). (Here "r" means "row" and
# "c" means "column").
#
# Hint: this function should call four.in.a.row() four times.
won = function(player, board, r, c, debug=FALSE) {
  if (debug) {
    cat(sep="", "won(player=", player, ", board=\n")
    print(board)
    cat(sep="", ", r=", r, ", c=", c, ")\n")
  }
  row_w=board[r,]
  cat("row is = ", row_w, "\n")
  col_w=board[,c]
  cat("col is = ", col_w, "\n")
  reverse_diag_w=board[row(board) + col(board) == r + c]
  cat("reverse diag is = ", reverse_diag_w, "\n")
  diag_w=x[row(board) - col(board) == r - c]
  cat("diag is = ", diag_w, "\n")
  #four.in.a.row(player,row_w,debug=FALSE)
  #four.in.a.row(player,col_w,debug=FALSE)
  #four.in.a.row(player,diag_w,debug=FALSE)
  #four.in.a.row(player,reverse_diag_w,debug=FALSE)
  #return(FALSE) # correct this return() statement
  return(four.in.a.row(player,row_w,debug=debug)  ||
           four.in.a.row(player,col_w,debug=debug)  ||
           four.in.a.row(player,diag_w,debug=debug) ||
           four.in.a.row(player,reverse_diag_w,debug=debug))
}

x = matrix(data=c(
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","O",
  "E","E","E","E","E","E","X",
  "X","X","X","X","O","E","X"
), nrow=6, ncol=7, byrow=TRUE)
stopifnot( won(player="X", board=x, r=6, c=1, debug=TRUE))
stopifnot(!won(player="O", board=x, r=6, c=1, debug=TRUE))
stopifnot(!won(player="X", board=x, r=1, c=7, debug=TRUE))
stopifnot( won(player="O", board=x, r=1, c=7, debug=TRUE))

Here's what I get :

> source("rle.R")
won(player=X, board=
     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[2,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[3,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[4,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[5,] "E"  "E"  "E"  "E"  "E"  "E"  "X" 
[6,] "X"  "X"  "X"  "X"  "O"  "E"  "X" 
, r=6, c=1)
row is =  X X X X O E X 
col is =  E E E E E X 
reverse diag is =  X E E E E E 
diag is =  X 
four.in.a.row(player=X, v=XXXXOEX)
won(player=O, board=
     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[2,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[3,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[4,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[5,] "E"  "E"  "E"  "E"  "E"  "E"  "X" 
[6,] "X"  "X"  "X"  "X"  "O"  "E"  "X" 
, r=6, c=1)
row is =  X X X X O E X 
col is =  E E E E E X 
reverse diag is =  X E E E E E 
diag is =  X 
four.in.a.row(player=O, v=XXXXOEX)
four.in.a.row(player=O, v=EEEEEX)
four.in.a.row(player=O, v=X)
four.in.a.row(player=O, v=XEEEEE)
won(player=X, board=
     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[2,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[3,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[4,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[5,] "E"  "E"  "E"  "E"  "E"  "E"  "X" 
[6,] "X"  "X"  "X"  "X"  "O"  "E"  "X" 
, r=1, c=7)
row is =  E E E E E E O 
col is =  O O O O X X 
reverse diag is =  X E E E E O 
diag is =  O 
four.in.a.row(player=X, v=EEEEEEO)
four.in.a.row(player=X, v=OOOOXX)
four.in.a.row(player=X, v=O)
four.in.a.row(player=X, v=XEEEEO)
won(player=O, board=
     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[2,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[3,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[4,] "E"  "E"  "E"  "E"  "E"  "E"  "O" 
[5,] "E"  "E"  "E"  "E"  "E"  "E"  "X" 
[6,] "X"  "X"  "X"  "X"  "O"  "E"  "X" 
, r=1, c=7)
row is =  E E E E E E O 
col is =  O O O O X X 
reverse diag is =  X E E E E O 
diag is =  O 
four.in.a.row(player=O, v=EEEEEEO)
four.in.a.row(player=O, v=OOOOXX)

I was mostly worried that rle won't work when I give a vector less that length 4 to it and then compare it to see if it contains a vector of length 4 of X or Os . Please let me know if the answer is not correct.

这篇关于x [-1L]!= x [-n]中的错误:这些类型的比较未实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆