• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Cybex CSG17 - Introduction - Page lxii - Number 23 explanation seems off

 
Tim Mousaw
Greenhorn
Posts: 16
1
  • Number of slices to send:
    Optional 'thank-you' note:
The explanation for the answers for question 23 seem off. It states:

Lambda expressions with one parameter are allowed to omit the parentheses around the parameter list, making C correct.



However, answer C is:


There are parentheses around the parameter list.

The explanation about the other correct answer is:

The return statement is optional when a single statement is in the body, making option F correct.



However, answer F is:


The body of answer F includes the return statement.
 
Stephan van Hulst
Saloon Keeper
Posts: 15608
366
  • 1
  • Number of slices to send:
    Optional 'thank-you' note:

The return statement is optional when a single statement is in the body, making option F correct.


I don't have the book so I don't know the context, but the quoted explanation is wrong for another reason:

If the function that the lambda expression evaluates has a non-void return type, then there is no situation where the return keyword is optional. Either the lambda expression body consists of an expression, in which case the return keyword is not allowed; or the lambda expression body consists of a block, in which case the return keyword is required.
 
Campbell Ritchie
Marshal
Posts: 79392
377
  • 1
  • Number of slices to send:
    Optional 'thank-you' note:

Tim Mousaw wrote:. . .

. . . allowed to omit the parentheses . . . making C correct.

. . . .

It says, “allowed,” not, “required.” That should really say that parentheses may be omitted when the parameters list is reduced to one token. In a λ like int i ‑> i * 2, the parameters list contains one parameter, but two tokens, and that expression will fail to compile.
Please explain more about the second question, about braces.

Campbell's JShell wrote:jshell
InFu|  Welcome to JShell -- Version 21.0.1
|  For an introduction type: /help intro

jshell> IntFunction x = (i) -> i * 2;
x ==> $Lambda/0x00007f13c400a200@9807454

jshell> IntFunction x = i -> i * 2;
x ==> $Lambda/0x00007f13c400a200@9807454

jshell> IntFunction x = int i -> i * 2;
|  Error:
|  '.class' expected
|  IntFunction x = int i -> i * 2;
|                      ^

jshell> /exit
|  Goodbye

Note the hash codes suggest that JShell recognised the two expressions as mutually equivalent.
 
Campbell Ritchie
Marshal
Posts: 79392
377
  • Number of slices to send:
    Optional 'thank-you' note:

Tim Mousaw wrote:. . .

The return statement is optional when a single statement is in the body . . .

. . . .

Please check; using return changes the expression to a statement, and that would require {...}, which would not be permitted for a single expression.
 
Jeanne Boyarsky
author & internet detective
Posts: 41905
909
  • Number of slices to send:
    Optional 'thank-you' note:
Noted on explanation needing to be different
 
reply
    Bookmark Topic Watch Topic
  • New Topic
vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |