목록에 대한 변수 이름을 사용하여 함수 내 목록 요소의 전역 할당

heds1

제목이 약간 느슨합니다. 목록 이름을 변수로 사용하고 해당 목록에 요소를 할당하는 함수를 만들고 싶습니다. 지금까지 my_fun함수 의 이름을 통해 목록의 요소에 액세스 할 수 있습니다 . 그런 다음 함수 매개 변수를 사용하여 함수 내 목록을 수정 print하고 할당이 작동했는지 확인할 수 있습니다. 물론이 모든 것을 글로벌 환경에 저장하는 것은 아니므로 함수 외부에서 목록을 호출 할 때 변경되지 않았습니다.

my_list <- list('original_element')

my_fun <- function(some_list) {

    # check that I can access the list using the parameter name
    print(some_list[[1]])

    # modify the list
    some_list[[1]] <- 'element_assigned_in_function'

    # check that the list was modified
    print(some_list[[1]]) 

}

my_fun(my_list)

# [1] "original_element"
# [1] "element_assigned_in_function"

# of course, my_list hasn't been modified in the global environment
my_list
# [[1]]
# [1] "original_element"

내 질문은 함수 내에서이 목록에 새 요소를 할당하고 전역 환경에 저장할 수있는 방법입니다. 단순히 할당을 전역으로 만들려고 <<-하면 다음 오류가 발생합니다.

some_list [[1]] <<- "element_assigned_in_function"오류 : 'some_list'개체를 찾을 수 없음

나는 사용 assign하고 설정 하려고 시도했지만 envir = .GlobalEnv작동하지 않으며 assign목록 요소와 함께 사용할 수 없다고 생각 합니다. 나는 이것을 작동시키기 위해 인용 / 인용 해제 / 표현 사용이있을 수 있다고 생각하지만 그것을 알아낼 수 없었습니다. 감사합니다.

로낙 샤

우선, 전역 환경에서 함수 내부에서 변수에 값을 할당하는 것을 권장하지 않는다는 점을 분명히 할 것입니다. 이상적으로는 항상 return변경하려는 함수의 값 을 가져야합니다 . 그러나 데모 목적으로 여기에 함수 내부에서 목록의 내용을 변경할 수있는 방법이 있습니다.

my_fun <- function(some_list) {
  list_name <- deparse(substitute(some_list))
  some_list[[1]] <- 'element_assigned_in_function'
  assign(list_name, some_list, .GlobalEnv)
}

my_list <- list('original_element')
my_fun(my_list)
my_list
#[[1]]
#[1] "element_assigned_in_function"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

함수 내에서 입력을 사용하여 목록의 요소 변경

분류에서Dev

참조로 그래프 (목록 목록)를 매개 변수로 전달하고,이 함수 내에서만 사용할 요소를 각 목록에 추가하고 싶습니다.

분류에서Dev

두 목록을 각 키에 대한 여러 값을 포함 할 수있는 하나의 사전으로 병합

분류에서Dev

목록의 항목을 변수에 할당하는 방법

분류에서Dev

for 루프를 사용하여 목록의 변수에 함수 출력 할당

분류에서Dev

data.tables 목록에 lapply를 사용하여 목록 멤버 이름을 변수로 할당

분류에서Dev

목록의 각 항목에 대한 변수 할당 [Python]

분류에서Dev

Python : 하위 목록 내의 개별 요소에 액세스 할 수 없습니다. 전체 하위 목록이 단일 요소로 표시됩니다.

분류에서Dev

r : 사용자 지정 함수에서 생성 된 목록의 n 개의 데이터 프레임 하위 집합을 전역 환경의 개체에 할당

분류에서Dev

사전 내의 목록에 동일한 str을 할당하지 않는 방법

분류에서Dev

목록 요소 조합에서 목록을 생성하기위한 적용 함수의 올바른 사용

분류에서Dev

목록 요소 조합에서 목록을 생성하기위한 적용 함수의 올바른 사용

분류에서Dev

optim에 대한 목적 함수 내에서 sapply (또는 적용) 사용; 목록 요소의 개체가 더 이상 인식되지 않습니다.

분류에서Dev

함수가있는 pandas df 열 내의 하위 목록에 중첩 된 for 루프를 사용한 목록 이해

분류에서Dev

변수 목록을 다른 목록에 할당하는 방법

분류에서Dev

파일에 저장 한 파일 이름 목록을 사용하여 목록의 각 파일을 복사 / 이동 / 삭제할 수 있습니까?

분류에서Dev

R의 함수 내에서 문자열을 사용하여 변수에 이름을 할당하고 저장

분류에서Dev

Turtle onclick 함수의 목록에 값을 할당하는 방법

분류에서Dev

LINQ 문을 사용하여 해당 개체를 목록에 추가하기 전에 기존 목록의 개체에 대한 변수가 이미 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

정규식을 사용하여 목록의 데이터 프레임에 대한 요소 이름 변경

분류에서Dev

사용자가 입력 한 코드의 목록에서 변수에 값을 할당하는 방법

분류에서Dev

내 함수에서 참조 목록의 이름을 대문자로

분류에서Dev

목록 목록의 요소에 내 함수를 적용 할 때 "TypeError : 'str'object is not callable"오류가 발생하는 이유는 무엇입니까?

분류에서Dev

어떻게 자바 (8)을 사용하여 목록의 일부 특정 요소에 대한 몇 가지 수학 연산을 수행 할 수 있습니다?

분류에서Dev

내 함수 호출에 열 이름의 깔끔한 스타일 목록을 스플 라이스하는 방법

분류에서Dev

이름 목록을 사용하여 변수 정의

분류에서Dev

할당 할 변수 이름을 사용하여 R 목록을 사용하는 방법

분류에서Dev

R의 목록 내 변수 이름에서 접미사 제거

분류에서Dev

각 요소의 개수가 키이고 값이 해당 요소의 목록 인 목록에서 사전을 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    함수 내에서 입력을 사용하여 목록의 요소 변경

  2. 2

    참조로 그래프 (목록 목록)를 매개 변수로 전달하고,이 함수 내에서만 사용할 요소를 각 목록에 추가하고 싶습니다.

  3. 3

    두 목록을 각 키에 대한 여러 값을 포함 할 수있는 하나의 사전으로 병합

  4. 4

    목록의 항목을 변수에 할당하는 방법

  5. 5

    for 루프를 사용하여 목록의 변수에 함수 출력 할당

  6. 6

    data.tables 목록에 lapply를 사용하여 목록 멤버 이름을 변수로 할당

  7. 7

    목록의 각 항목에 대한 변수 할당 [Python]

  8. 8

    Python : 하위 목록 내의 개별 요소에 액세스 할 수 없습니다. 전체 하위 목록이 단일 요소로 표시됩니다.

  9. 9

    r : 사용자 지정 함수에서 생성 된 목록의 n 개의 데이터 프레임 하위 집합을 전역 환경의 개체에 할당

  10. 10

    사전 내의 목록에 동일한 str을 할당하지 않는 방법

  11. 11

    목록 요소 조합에서 목록을 생성하기위한 적용 함수의 올바른 사용

  12. 12

    목록 요소 조합에서 목록을 생성하기위한 적용 함수의 올바른 사용

  13. 13

    optim에 대한 목적 함수 내에서 sapply (또는 적용) 사용; 목록 요소의 개체가 더 이상 인식되지 않습니다.

  14. 14

    함수가있는 pandas df 열 내의 하위 목록에 중첩 된 for 루프를 사용한 목록 이해

  15. 15

    변수 목록을 다른 목록에 할당하는 방법

  16. 16

    파일에 저장 한 파일 이름 목록을 사용하여 목록의 각 파일을 복사 / 이동 / 삭제할 수 있습니까?

  17. 17

    R의 함수 내에서 문자열을 사용하여 변수에 이름을 할당하고 저장

  18. 18

    Turtle onclick 함수의 목록에 값을 할당하는 방법

  19. 19

    LINQ 문을 사용하여 해당 개체를 목록에 추가하기 전에 기존 목록의 개체에 대한 변수가 이미 있는지 확인하는 방법은 무엇입니까?

  20. 20

    정규식을 사용하여 목록의 데이터 프레임에 대한 요소 이름 변경

  21. 21

    사용자가 입력 한 코드의 목록에서 변수에 값을 할당하는 방법

  22. 22

    내 함수에서 참조 목록의 이름을 대문자로

  23. 23

    목록 목록의 요소에 내 함수를 적용 할 때 "TypeError : 'str'object is not callable"오류가 발생하는 이유는 무엇입니까?

  24. 24

    어떻게 자바 (8)을 사용하여 목록의 일부 특정 요소에 대한 몇 가지 수학 연산을 수행 할 수 있습니다?

  25. 25

    내 함수 호출에 열 이름의 깔끔한 스타일 목록을 스플 라이스하는 방법

  26. 26

    이름 목록을 사용하여 변수 정의

  27. 27

    할당 할 변수 이름을 사용하여 R 목록을 사용하는 방법

  28. 28

    R의 목록 내 변수 이름에서 접미사 제거

  29. 29

    각 요소의 개수가 키이고 값이 해당 요소의 목록 인 목록에서 사전을 만드는 방법은 무엇입니까?

뜨겁다태그

보관