ruby新手,求大侠指点一二。
走同样的路,发现不同的人生
첫 번째 질문: to_s는 널리 존재하는 메소드여야 하며, to_str은 String이거나 소수의 클래스에만 있는 메소드여야 합니다. Ruby에는 https://ruby-china.org/topics/25311과 같이 다양한 방법이 있습니다.
두 번째 질문: 검사의 반환 유형은 문자열이며, 현재 개체를 읽을 수 있는 방식으로 표시하는 문자열을 반환합니다. nil.inpsect는 "nil"을 반환하기 때문에 "nil"을 반환합니다. NilClass#inspect 문서를 보면 알 수 있습니다.
"nil"
여기서 한 가지 문제를 지적해야 합니다. 즉, Ruby의 nil은 다른 언어의 null과 다릅니다. nil은 객체입니다(클래스가 아니라 NilClass 클래스의 객체입니다). , 이 개체는 Ruby에서 그 자체가 개체일 뿐인 을 나타내는 데 사용됩니다.
nil
null
첫 번째 질문:
to_s는 널리 존재하는 메소드여야 하며, to_str은 String이거나 소수의 클래스에만 있는 메소드여야 합니다. Ruby에는 https://ruby-china.org/topics/25311과 같이 다양한 방법이 있습니다.
두 번째 질문:
검사의 반환 유형은 문자열이며, 현재 개체를 읽을 수 있는 방식으로 표시하는 문자열을 반환합니다. nil.inpsect는
"nil"
을 반환하기 때문에"nil"
을 반환합니다. NilClass#inspect 문서를 보면 알 수 있습니다.여기서 한 가지 문제를 지적해야 합니다. 즉, Ruby의
nil
은 다른 언어의null
과 다릅니다.nil
은 객체입니다(클래스가 아니라 NilClass 클래스의 객체입니다). , 이 개체는 Ruby에서 그 자체가 개체일 뿐인 을 나타내는 데 사용됩니다.