NSLog имя метода с Objective-C в iPhone

Трюк состоит в том, чтобы сделать все ваши входы одинаковой длины.

x <- 1:2
y <- 1:10
n <- max(length(x), length(y))
length(x) <- n                      
length(y) <- n

Если вы хотите, чтобы вы выводили массив, тогда cbind работает, но вы получаете дополнительные NA значения для выньте прямоугольник.

cbind(x, y)
       x  y
 [1,]  1  1
 [2,]  2  2
 [3,] NA  3
 [4,] NA  4
 [5,] NA  5
 [6,] NA  6
 [7,] NA  7
 [8,] NA  8
 [9,] NA  9
[10,] NA 10

Чтобы избавиться от NA s, выход должен быть списком.

Map(function(...) 
   {
      ans <- c(...)
      ans[!is.na(ans)]
   }, as.list(x), as.list(y)
)
[[1]]
[1] 1 1

[[2]]
[1] 2 2

[[3]]
[1] 3

[[4]]
[1] 4

[[5]]
[1] 5

[[6]]
[1] 6

[[7]]
[1] 7

[[8]]
[1] 8

[[9]]
[1] 9

[[10]]
[1] 10

EDIT: я поменял местами mapply(..., SIMPLIFY = FALSE) на Map.

146
задан Cœur 10 December 2018 в 07:24
поделиться

2 ответа

print(__FUNCTION__) // Swift
NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C

Swift 3 и выше

print(#function)
255
ответ дан 23 November 2019 в 22:32
поделиться

Чтобы технически ответить на ваш вопрос, вы хотите:

NSLog(@"<%@:%@:%d>", NSStringFromClass([self class]), NSStringFromSelector(_cmd), __LINE__);

Или вы также можете сделать:

NSLog(@"%s", __PRETTY_FUNCTION__);
158
ответ дан 23 November 2019 в 22:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: